我刚开始学习git。我已经阅读了如何添加远程存储库并将其连接到本地存储库。但是当我测试它时,我运行了三次命令git remote add
,并在一个网址上添加了名称,如:
$ git add remote learnGit xxxxxx/learnGit.git
$ git add remote origin xxxxxx/learnGit.git
$ git add remote orign xxxxx/learnGit.git
$ git remote
learnGit
origin
orign
如果我想稍后拉,它的效果是否相同:
git pull learnGit master
git pull origin master
git pull orign master
感谢。
答案 0 :(得分:2)
是的,所有的pull命令都可以正常工作,因为所有的遥控器都指向同一个存储库。与推送相同。
答案 1 :(得分:0)
我想了解更多细节,这里可能不需要。
git是分布式版本控制管理系统。您添加的每个遥控器都会成为一个单独的存储库。对于每个远程git,将其历史记录保存在具有相同名称的本地指针中。
EG。
对于learnGit远程的master分支。本地指针将为leranGit/remote
。
当您获取这些遥控器时,会更新这些本地指针。 (拉是获取和合并)。
如果您为同一个网址创建多个网址。如果您正在执行git pull与本地合并,它没有任何区别,因为所有三个遥控器都会看到相同的更改,这是远程的。
但是可能存在这些遥控器的本地指针中可能存在不同状态的情况。
例如 如果让其他一些开发人员做出一些提交并推动掌握。
git fetch learnGit/master # local master/learnGit updated to latest master on remote
在上述情况下,执行上述命令后,以下结果会有所不同。
git merge learnGit/master # Will merge with latest commits
git merge origin/master # Will merge with commits which are not on remote, Since local pointer of origin/master is not updated yet by means of fetch