我知道git fetch
会将远程存储库中的所有分支检索到本地数据库(.git目录),但不会将任何分支与本地分支合并。我还知道git pull
检索当前签出分支从远程存储库跟踪的远程分支,并将其更改合并到本地分支中。
但git pull
是否还将其他分支中的新数据检索到本地数据库(.git目录)?
示例:
我的远程存储库中有分支主和分支功能。我使用git clone https://www.someserver.com/repo.git
将存储库克隆到我的本地计算机。现在,git clone
会自动检出主分支,并告诉它跟踪 origin / master 。几天后,我使用git pull
更新我的本地存储库。它会自动更新 origin / master 并将其合并到我的本地主中。但它是否也更新来源/功能? (例如,我知道在我的本地来源/功能分支中的远程存储库上有最新版本的功能分支?)
加分问题:
如果对我的远程存储库使用各种手动备份系统(使用git clone
),我该如何更新它们?
答案 0 :(得分:1)
git fetch ....
和git remote update ....
命令的原因。当你有很多遥控器时,后者非常有用。
请注意,即使feature
上的origin
已完全合并到master
origin
上,拉主人也肯定会将合并后的内容拉到主人身上分支,它将根据需要提取尽可能多的提交(重新)建立相关的历史。因此,feature
的提交实际上可能会被提取。
但是,您的跟踪引用origin/feature
和您的本地feature
分支将不会被git pull origin master
更新。