gitee完整使用教程,创建项目并上传

news/2024/2/25 19:47:32/文章来源:https://blog.csdn.net/ckk_0821/article/details/135551821

目录

一 什么是gitee

二 安装Git

三 登录gitee,生成密钥

四 配置SSH密钥

五 创建项目

六 克隆仓库到本地

七 关联本地工程到远程仓库

八 添加文件

九 异常处理

十 删除仓储 

十一 git常用命令


一 什么是gitee

        gitee是开源中国推出的基于git的代码托管服务, 国内访问GitHub速度比较慢,如果想托管自己的代码到云端,gitee是个非常不错的选择。

二 安装Git

        如果需要使用gitee,我们需要先下载并安装git工具,git的下载地址:git-scm.com/downloads

官网如下:

我们根据自己的系统选择适合自己的版本即可,我这里是windows,所以我选择window版本。

安装完成之后,我们可以在powershell中查看git的版本

git --version

出现如下提示,说明我们的git已经安装完成 

当然,我们也可以右键查看菜单中是否有git

三 登录gitee,生成密钥

   我们需要在gitee上注册账号并登录。

  由于我们本地的git仓库跟gitee仓库之间的传输是通过SSH加密的,所以我们需要配置SSH公钥。所以我们需要先生成SSH密钥。

ssh-keygen -t rsa -C "ckk0821@163.com"

注意:此处xxxxx@xxxxx.com,只是一个生成 sshkey的名称,并不约束或要求具体命名为某个邮箱,在这里,我是为了方便,所以用了自己的邮箱。

出现如下命令,回车即可。

继续回车

继续回车。出现如下界面

在此界面中,我们可以看到我们生成的 id_rsa.pub路径:C:\Users\user/.ssh/id_rsa.然后我们进入该目录C:\Users\user\.ssh查看一下生成的文件。

我们用记事本打开id_rsa.pub文件,查看密钥

txt文件中即为密钥。

四 配置SSH密钥

在头像地下,点击设置

 在左侧菜单中,安全设置中,点击SSH公钥。

 在下图的页面中,输入一个标题,然后复制刚刚我们打开的文件中的密钥至公钥区,点击确定,则SSH密钥配置成功。

        在弹出的窗口中输入您的密码,则SSH密钥配置成功。

 五 创建项目

第一步,点击用户头像左侧的+,第二步,点击新建仓库。

打开如下页面

点击创建,即可完成。

六 克隆仓库到本地

找到我们创建的仓储项目,点击克隆下载的下拉按钮,选择ssh,复制其中的链接。

接着,我们在需要提交项目的目录中,右键,然后点击Git Bash Here

 

打开如下命令窗口

输入如下命令,git clone 后边为我们复制的项目地址

git clone git@gitee.com:ckk0821/clock-in-manage.git

回车之后,即可查看克隆下的文件 。

七 关联本地工程到远程仓库

 有时候,我们可能现在本地已经有了工程文件,然后再在gitee上创建库,此时,我们可以在本地库中使用命令git remote add 把他和gitee远程库关联,代码如下:

git remote add origin git@gitee.com:ckk0821/clock-in-manage.git

出现如下问题:

fatal: not a git repository (or any of the parent directories): .git

我们需要使用git进行初始化

git init

 如果在使用命令 git remote add时报错:

git remote add origin git@gitee.com:linxinfa/mytest.git
fatal: remote origin already exists.

说明本地库已经关联了一个名叫 origin的远程库,此时,可以先用git remote -v查看远程库信息:

git remote -v
origin git@gitee.com:linxinfa/mytest.git (fetch)
origin git@gitee.com:linxinfa/mytest.git (push)
123

我们可以删除已有的远程库

git remote rm origin

再关联远程库

git remote add origin git@gitee.com:ckk0821/clock-in-manage.git

注意:origin为我们起的别名,以后pull或者push时,我们就不需要再输入特别长的 git地址了。直接使用origin即可

八 添加文件

我们的项目中的已有文件,可以使用如下命令添加至远程仓库

进入目录

cd E:\小来打卡

添加所有目录以及文件

git add -A

 提交文件

git commit -m 'Code Init submitby Ckk'

将代码push到远程仓储库,

在push之前我们需要先pull一下,看看本地是否有远程仓库中没有的文件

 git pull origin master

如果pull时出现如下问题;

我们执行如下命令即可

git pull origin master --allow-unrelated-histories

 它产生的原因时因为:在你上传的时候,远程仓库中有着本地仓库没有的文件,及导致本地仓库和远程有不同的开始点,也就是两个仓库没有共同的 commit 出现的无法提交。

 执行 push

git push -u origin master

九 异常处理

push时出现如下异常,

Enumerating objects: 3224, done.
Counting objects: 100% (3224/3224), done.
Delta compression using up to 12 threads
Compressing objects: 100% (3029/3029), done.
Writing objects: 100% (3223/3223), 426.76 MiB | 7.04 MiB/s, done.
Total 3223 (delta 1056), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1056/1056), done.
remote: Powered by GITEE.COM [GNK-6.4]
remote: error: File: fdf06009870c48ea8e609a12c3be00ab658ca272 258.29 MB, exceeds 100.00 MB.
remote: Use command below to see the filename:
remote: git rev-list --objects --all | grep fdf06009870c48ea8e609a12c3be00ab658ca272
remote: Please remove the file from history and try again. (https://gitee.com/help/articles/4232)
To gitee.com:ckk0821/clock-in-manage.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'gitee.com:ckk0821/clock-in-manage.git'

应该是提交的文件中有超过100MB的。按照提示,输入命令查看超大的文件

git rev-list --objects --all | grep fdf06009870c48ea8e609a12c3be00ab658ca272

出现如下内容

fdf06009870c48ea8e609a12c3be00ab658ca272         Code/SoingSoft.CommonProject.CRMManage/wwwroot/Images/Client/MemberImg/4120235466421174272/MemberVideo/4146299491042983936.mp4

解决方法:

需要修改提交历史,删除已提交到本地仓库的大文件的提交记录,从commit的提交历史中删除指定文件的命令为git filter-branch --tree-filter 'rm -f 文件名' HEAD

git filter-branch --tree-filter 'rm -f "Code/SoingSoft.CommonProject.CRMManage/wwwroot/Images/Client/MemberImg/4120235466421174272/MemberVideo/4146299491042983936.mp4"' HEAD

出现如下提示,则表示重新写入成功 

然后我们再次Push。

刷新一下页面就可以看到我们提交的代码

十 删除仓储 

点击管理,即可进入仓储管理页面

点击删除即可删除仓储 

十一 git常用命令

git init                    #把当前目录变成git可以管理的仓库
git clone git地址             #克隆项目
git add readme.txt          #添加一个文件,也可以添加文件夹
git add -A                  #添加全部文件
git rm test.txt             #删除一个文件,也可以删除文件夹
git commit -a -m “some commit” #提交修改
git status                  #查看是否还有未提交
git log                     #查看最近日志
git reset --hard HEAD^      #版本回退一个版本
git reset --hard HEAD^^     #版本回退两个版本
git reset --hard HEAD~100   #版本回退多个版本
git remote add origin +地址 #远程仓库的提交(第一次链接)
git push -u origin master   #仓库关联
git push                    #远程仓库的提交(第二次及之后)
git fetch                   #从远程获取代码库
git tag xxx                 #打tag
git tag                     #显示所有tag
git push --tag              #提交tag
git branch -a               #显示所有分支
git checkout 分支名        #切换分支
git merge git分支             #合并分支

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925427.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3种ffmpeg-web端视频直播推流方案

ffmpeg-web端视频直播推流方案 记录了三种 ffmpeg 工具进行推流的方法,并在web端实现直播效果。 一. node-media-server ffmpeg 推流rtmp 安装node-media-server依赖,新建app.js运行 npm install node-media-server -g const NodeMediaServer require(node-…

e2studio开发三轴加速度计LIS2DW12(4)----测量倾斜度

e2studio开发三轴加速度计LIS2DW12.4--测量倾斜度 概述视频教学样品申请源码下载计算倾斜角度工作原理单轴倾斜检测双轴倾斜检测三轴倾斜检测通信模式管脚定义IIC通信模式速率新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e…

004 Golang-channel-practice 左右括号匹配

第四题 左右括号打印 一个协程负责打印“(”,一个协程负责打印“)”,左右括号的数量要匹配。在这道题目里,我在main函数里进行了一个死循环。会产生一个随机数,随机数就是接下来要打印的左括号的数量。 例…

spring boot mybatis plus mapper如何自动注册到spring bean容器

##Import(AutoConfiguredMapperScannerRegistrar.class) ##注册MapperScannerConfigurer ##MapperScannerConfigurer.postProcessBeanDefinitionRegistry方法扫描注册mapper ##找到mapper候选者 ##过滤mapper 类 候选者 ##BeanDefinitionHolder注册到spring 容器

竞赛保研 基于深度学习的动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

c++泛型算法相关笔记

一. 泛型算法 1. 前言 泛型算法&#xff1a;可以支持多种类型的算法 此处主要来讨论怎么使用标准库中定义的泛型算法<algorithm>, numeric, ranges. 在引入泛型算法之前&#xff0c;还有一种是方法的形式&#xff0c;比如说std::sort 和std::list::sort&#xff0c;前者…

微信小程序上传并显示图片

实现效果&#xff1a; 上传前显示&#xff1a; 点击后可上传&#xff0c;上传后显示&#xff1a; 源代码&#xff1a; .wxml <view class"{{company_logo_src?blank-area:}}" style"position:absolute;top:30rpx;right:30rpx;height:100rpx;width:100rp…

力扣67. 二进制求和算法

一、【写在前面】 这道题需要&#xff0c;给你两个字符串比如 a "1010", b "1011"答案是&#xff1a;"10101" 然后需要你给出计算结果&#xff0c;那么我们很容易想到两种做法 1. 调库做法&#xff1a;直接转化为整数&#xff0c;然后用内…

在CentOS上设置和管理静态HTTP网站的版本控制

在CentOS上设置和管理静态HTTP网站的版本控制是一项重要的任务&#xff0c;它可以帮助您跟踪和回滚对网站所做的更改&#xff0c;确保数据的一致性和完整性。以下是在CentOS上设置和管理静态HTTP网站的版本控制的步骤&#xff1a; 安装版本控制系统在CentOS上安装Git或其他版本…

K8S--Ingress的作用

原文网址&#xff1a;K8S--Ingress的作用-CSDN博客 简介 本文介绍K8S的Ingress的作用。 ----------------------------------------------------------------------------------------------- 分享Java真实高频面试题&#xff0c;吊打面试官&#xff1a; Java后端真实面试题…

[后端] 微服务的前世今生

微服务的前世今生 整体脉络: 单体 -> 垂直划分 -> SOA -> micro service 微服务 -> services mesh服务网格 -> future 文章目录 微服务的前世今生单一应用架构特征优点&#xff1a;缺点&#xff1a; 垂直应用架构特征优点缺点 SOA 面向服务架构特征优点缺点 微服…

STM32快速复制MX25L1606E系列Flash

去年做了一个使用RS485对PIC18F45K80系列单片机进行在线升级的程序&#xff0c;如果是小批量的出厂烧录程序和升级验证&#xff08;出厂前肯定要测试单片机是否能正常读写Flash&#xff09;是可以的&#xff0c;但是后来产品订单量很大&#xff0c;生产线的烧录及升级验证就很缓…

Android Retrofit使用详情

一、 Retrofit是什么 Retrofit是Android用来接口请求的网络框架&#xff0c;内部是基于OkHttp实现的&#xff0c;retrofit负责接口请求的封装&#xff0c;retrofit可以直接将接口数据解析为Bean类、List集合等&#xff0c;直接简化了中间繁琐的数据解析过程 二、 Retrofit的简单…

使用 Apache POI 更新/覆盖 特定的单元格

使用 Apache POI 更新特定的单元格 一. 需求二. 实现三. 效果 一. 需求 将以下表中第4行&#xff0c;第4列的单元格由“张宇”更新为“汤家凤”&#xff0c;并将更行后的结果写入新的Excel文件中&#xff1b; 二. 实现 使用Apache POI&#xff0c;可以精确定位到需要更改的单…

stm32学习笔记:USART串口通信

1、串口通信协议&#xff08;简介软硬件规则&#xff09; 全双工&#xff1a;打电话。半双工&#xff1a;对讲机。单工&#xff1a;广播 时钟&#xff1a;I2C和SPI有单独的时钟线&#xff0c;所以它们是同步的&#xff0c;接收方可以在时钟信号的指引下进行采样。串口、CAN和…

Picturesocial | 开发实践:如何在15分钟内将应用容器化

在常见的软件架构体系中&#xff0c;容器无疑是一个技术热点。有些开发者在工作中熟练使用容器技术&#xff0c;有些可能刚刚开始容器之旅。 面对容器使用经验不同的各类开发者&#xff0c;我们希望通过这个系列文章&#xff0c;由浅入深地介绍如何使用容器技术来构建&#xf…

C语言天花板——指针(经典题目)

指针我们已经学习的差不多了&#xff0c;今天我来给大家分享几个经典的题目&#xff0c;来让我们相互学习&#x1f3ce;️&#x1f3ce;️&#x1f3ce;️ int main() {int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%…

C++ OJ基础

C OJ基础 在学校学习C程序设计基础课程的OJ题目 缺少第二十题 这里写目录标题 C OJ基础习题练习(一)打印图形习题练习(二)数据的输入输出习题练习(三)函数重载习题练习(四)设计矩形类习题练习(五)定义Tree类习题练习(六)完善职工工资类Salary的设计习题练习(七)设计矩形类recta…

运维工具之iptables命令

运维工具之iptables命令 1.iptables防火墙介绍 ​ iptables其实并不是真正的防火墙&#xff0c;我们可以理解成一个客户端代理&#xff0c;用户通过 IPTables这个代理&#xff0c;将用户的安全设定执行到对应的"安全框架"中&#xff0c;这个"安全框架"才…

Laravel 框架中队列的使用

概述 Laravel 框架内置了强大的队列系统&#xff0c;用于处理异步任务、提高系统性能等。队列可以让任务异步执行&#xff0c;而不会阻塞当前进程&#xff0c;可以提高系统的处理能力。 Laravel 的队列系统支持多种驱动&#xff0c;如 Redis、Beanstalkd、SQS 等&#xff0c;…