Git远程仓库学习和推送(Gitee)

1、注册gitee账户并登录

2、点击➕新建仓库

        

3、填写仓库名称、路径、仓库介绍和选择是否开源,其他的一律默认,然后点击创建(其他的是初始化仓库的,本地有仓库的,不需要初始化

 4、推送仓库之前,配置SSH公钥(限制推送人。还有一种方法是输入登录Gitee时的用户名和密码)

        4.1、输入指令生成SSH公钥

                ssh-keygen -t rsa

        4.2、不断回车(不需要输入其他内容)【如果公钥已存在会自动覆盖】

                

 5、Gitee设置账户共同公钥

        5.1、获取公钥

                cat ~/.ssh/id_rsa.pub

                

         5.2、复制公钥,打开Gitee,点击用户下的设置,找到SSH公钥,粘贴复制的公钥,点击确定

                

                

        5.3、验证配置是否成功(第一次访问出现提示,输入yes)

                 ssh -T git@gitee.com

6、把本地仓库推到远程仓库

        6.1、复制仓库地址

         6.2、输入如下添加远程仓库(告诉本地仓库,远程仓库是哪个。一般一个本地仓库对应一个远程仓库。一般默认远端名字是origin,仓库路径从远端服务器获取。)

                 git remote add 远端名字  远程仓库地址

                

         6.3、检查添加是否成功

                git remote

                

         6.4、同步本地代码到远程仓库(把对应分支推给远程仓库)【类似于快进模式的合并merge】

                git push 远端名字 本地分支名字:远端分支名(远程分支名字和本地分支名字一样的可只写一个)

                

         6.5、去Gitee仓库中查看

         

 拓展:

1、(6.4)完整代码:git push -f --set-upstream 远端名称 本地分支名:远端分支名

-f:强制覆盖    

--set-upstream:推送到远端同时建立起和远端分支的关联关系(第一次推送可以使用这个命令,以后的推送就可以直接简写)

        例如:git push --set-upstream origin master(把本地master推送到远端master,同时绑定关系,方便下次推送)

         

git branch -vv:查看本地分支和远程分支的关系

        

如果当前分支已经和远端分支关联(使用了--set-upstream),则可以省略分支名和远端名

        git push (将master分支推送到已关联的远端分支)

        

 2、将远程仓库克隆到本地(一般只克隆一次

        2.1、获取远程仓库克隆地址

                 

        2.2、输入命令克隆

                git clone 远程仓库路径  本地目录(本地目录省略的话会自动生成一个目录)

                

3、从远程仓库中拉取和抓取(远程分支和本地分支一样,可以进行merge操作,只需要把远端仓库更新到本地,再进行操作)

        3.1、抓取(remote name:远端名称  branch name:远端需要拉去的分支名)

              【抓取指令只将远端仓库更新都抓取到本地,但是不会合并,需要用merge合并。不指定远端名和分支名,则抓取所有分支】

                git fetch [remote name] [branch name]

                                   图片中文件是已经创建并push了,只是用于观看代码结果

        3.2、拉取

                【拉去指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch + merge。不指定远端名和分支名,则拉取所有分支并更新当前分支】

                git pull [remote name] [branch name]

                                         图片中文件是已经创建并push了,只是用于观看代码结果

4、解决远端合并冲突(多人修改同一个文件的同一行,先后提交到远程仓库,此时会发生合并冲突)【与解决本地合并冲突方法相同】

        发生合并冲突时,先拉取(pull)远程仓库的提交,解决冲突后,经过合并(merge)才能推送到远端分支(push)

        (以下是解决合并冲突的例子)

        4.1、A修改文件并且提交 

         4.2、B修改同样文件的同一行,且内容不同。然后发现提交报错

        4.3、 此时B执行拉取(pull)或者抓取(fetch),发现文件有问题,分支未合并,应该去修改问题文件并合并分支

                

         4.4、查看该文件

                

         4.5、改成自己想要的样子

                

         4.6、然后在提交到本地仓库(此时本地分支和远程分支已经合并到本地,但是远程记录未更新)

         4.7、B将本地push到远程,完成自己的提交且更新了远程仓库记录

         4.8、远端修改了,A应该进行拉取才能保持远端与本地一致

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值