之前分享如何将本地仓库与远程仓库建立联系,这次分享一下如何从远程参考克隆,拉取等操作


如果已经有一个远端仓库,我们可以直接 clone 到本地。


        命令: git clone < 仓库路径 > [ 本地目录 ]


        本地目录可以省略,会自动生成一个目录,目录的名称为仓库的名称


需要从桌面右击启动git bash


仓库路径为SSH地址




selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_远程仓库

这样在桌面就可以看到一个从远程仓库克隆过来的文件夹了



selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_02


远程分支和本地的分支一样,我们可以进行 merge 操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。


        抓取 命令:git fetch [remote name] [branch name]


        抓取指令就是将仓库里的更新都抓取到本地,不会进行合并


        如果不指定远端名称和分支名,则抓取所有分支。


        拉取 命令:git pull [remote name] [branch name]


        拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge


        如果不指定远端名称和分支名,则抓取所有并更新当前分支。


 

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_03

在本地创建一个文本并提交到本地仓库。

将本地仓库提交到远程仓库上

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_推送_04

但是在其他仓库上没有这次修改的内容,所以需要拉取远程仓库

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_05

 这边先演示一下使用git fetch指令

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_06

我们可以看到从抓取到了新的内容,但是这时候本地分支与远程仓库的分支并不是在同一个修改下,这时候需要进行合并 。

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_远程仓库_07

这样需要输入两次指令,有点麻烦,所以git这边有个git pull指令可以抓取并合并,称为拉取 

 

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_08

        在其他仓库程序创建一个file04.txt文件,然后执行git pull可以看到不仅仅获取到了远程仓库修改的内容,而且将本地分支和远程仓库的分支进行了合并。 

        接下来介绍一下远程仓库出现合并冲突的问题。


        在一段时间,A 、 B 用户修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突。 A用户在本地修改代码后优先推送到远程仓库,此时 B 用户在本地修订代码,提交到本地仓库后,也需要 推送到远程仓库,此时B 用户晚于 A 用户, 故需要先拉取远程仓库的提交,经过合并后才能推送到远端分 支。这时候就会发送合并冲突的问题。这边演示一下。



 在一个本地仓库上修改file01.txt文件

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_远程仓库_09

 提交到远程仓库

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_远程仓库_10

在另外一个本地仓库也修改同一文件,同一行

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_推送_11

提交到本地仓库上,这时候从远程仓库上拉取。  

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_12

这时候就会出现合并冲突的问题 。

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_13

查看文件与分支合并冲突的问题一致,所以解决办法也是一致的。 修改文件内容,然后重新提交

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_远程仓库_14

 

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_推送_15

重新提交到远程仓库上

 

selenium从远程git仓库拉取pthon代码 git 拉取远程仓库_git_16

在另外一个仓库上重新pull即可。