创建远程仓库
步骤:
1. 注册码云账号并登录
2. 创建一个自己的仓库


3.配置SSH连接密钥
- 因为我们需要将本地仓库的代码上传到远程仓库中,所以为了安全,gitee会进行验证,如果不配置SSH连接密钥,则每次都需要输入密码。
配置方式:
- 在本地仓库打开Git GUI here ,输入命令:
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
- 然后一直按Enter键


- 会在电脑的用户目录中自动生成一个文件,文件中有一串代码,就是我们的密钥,打开该文件,复制密钥
 
- 进入gitee里面,点击设置
 - 安全设置中,配置SSH公钥
 - 将上面的公钥复制放到这里,然后点击确认
 
4.将远程仓库和本地仓库进行连接
注意:这里的远端名称一般都叫做origin ,所以直接写origin 即可,当然其他的名字也可以,是自定义的,只是大家习惯叫origin .
仓库地址获取方式: 
git remote add <远端名称> <仓库地址>
比如:
git remote add origin git@gitee.com/git_repository.git
- 连接之后,可以使用命令
git remote 查看是否连接成功

关于远程和本地仓库之间的操作
1. 将本地仓库的代码推到远程仓库中
使用命令:git push [-f] [--set-upstream] [远端名称] [本地分支名][:远端分支名] 表示将本地哪个分支上的代码推到哪个远程分支上,将本地仓库的代码推到远程中。 注意:
- 如果远程分支名和本地分支名相同,则可以只写本地分支名
如:git push origin master ,将本地master分支上的代码推到远程的master分支上 -
--set-upstream 推送到远端的同时,建立起和远端分支的关联关系。用于第一次推送时。
- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
- git push 将当前分支推送到已关联的远端分支
- 可以使用
git branch -vv 来查看 本地分支与远程分支的关联关系

- 一般的执行流程:
- 先执行
git add 命令 :将代码从工作区提交到暂存区 - 再执行
git commit -m 命令:将代码从暂存区提交到本地仓库 - 再执行
git push 命令 :将本地仓库中的代码提交到远端仓库
2.从远程仓库克隆
- 有时候就我们需要将远程仓库中的代码克隆到本地进行开发
- 使用命令:
git clone <仓库地址> [本地目录] 注意:仓库地址还是gitee仓库的SSH地址,目录是自定义的,也就是将远程仓库中的代码克隆到本地哪个目录下。
 
3.从远程仓库中抓取和拉取
-
为什么需要抓取和拉取? -
因为我们一般使用git是多人开发,类似于并行,比如说两个人同时开发,早上的时候都克隆了相同的代码到本地进行开发,甲开发的是A功能,乙开发的是B功能,甲开发的比较快,中午就开发完成了,然后将自己开发的代码push到了远程仓库,而乙开发的比较慢,晚上才开发完,如果他也直接进行push的话则会出错,因为此时远程的代码已经变了,而乙本地的日志保存的还是早上的时候克隆下来的日志,所以会报错,需要将本地的代码进行更新和远程仓库一致,再提交就不会报错。 -
抓取和拉取的作用就是:更新本地仓库代码,保持和远程仓库一致。 -
情景: -
A 早上开发的时候添加了一个文件file01.txt到自己的本地仓库  -
与此同时, B 早上开发的时候添加了一个文件file02.txt到自己的本地仓库  -
此时可以发现,他们俩的日志中,都没有对方修改的日志,只有自己提交的日志 -
A先提交自己的文件到远端仓库   -
此时B再提交到仓库,则发现报错了 
原因:因为B再提交的时候,原来的远程仓库内容已经变了,但是B没有先同步到本地,这样提交肯定报错。
解决方法:有两种: 第一种: 先使用命令:git fetch [remote name] [branch name] ,将仓库更新获取到本地日志中
- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支。
  第二步:将本地的master和远程的master分支进行合并,使用git merge 指令进行合并  第三步:push即可

总结上述步骤:就是先将远程的代码更新到本地之后,再将此时本地的代码推到远程,也就是先执行 git fetch 将内容日志更新到本地,再使用git merge 将分支合并到本地,这样保证本地代码文件和远程能保持一致。
第二种: 使用命令:git pull [remote name] [branch name] 拉取 拉取命令: 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
4.删除远程仓库中的文件或者文件夹
- 有时候我们可能需要将某些文件从远程仓库删除,如何删除呢?
- 命令步骤:
1.git rm -r --cached 文件名/文件夹名
- -r : 表示递归删除
- –cached : 加上该参数则只会删除远程仓库中的文件,而对于本地的是不会删除的
-
git commit . :添加到本地仓库 -
git push :直接推到远端 注意:这里不需要add ,就可以直接删除
1.git rm -r 文件名/文件夹名
git add . :添加到暂存区git commit. :添加到本地仓库git push :直接推到远端
注意: 加不加参数 --cached 的时候删除文件是有区别的,加了这个则删除时候不需要进行add操作,直接commit ,再push. 不加该参数的时候删除之后是需要先add操作,再commit,再push
|