了解git回迁和您的本地回购
我了解到,在执行了了解git回迁和您的本地回购,git,git-branch,git-pull,git-checkout,git-fetch,Git,Git Branch,Git Pull,Git Checkout,Git Fetch,我了解到,在执行了git fetch之后,您的本地repo拥有来自原始repo的所有提交,但它们“尚未集成到克隆存储库的本地分支中” 这意味着什么? 然后我是否需要签出我的分支以将更改向下拉入本地工作副本?或者这意味着什么?提前谢谢 Git有两个从远程存储库更新自身的命令。吉特 fetch将使您与另一个repo同步,并拉下任何数据 你没有本地的书签,并给你每个书签的位置 当您同步时,该远程设备上的分支已关闭。这些被称为 “远程分支”和与本地分支相同,只是Git 将不允许您签出它们-但是,您可以从
git fetch
之后,您的本地repo拥有来自原始repo的所有提交,但它们“尚未集成到克隆存储库的本地分支中”
这意味着什么?
然后我是否需要签出我的分支以将更改向下拉入本地工作副本?或者这意味着什么?提前谢谢
Git有两个从远程存储库更新自身的命令。吉特
fetch将使您与另一个repo同步,并拉下任何数据
你没有本地的书签,并给你每个书签的位置
当您同步时,该远程设备上的分支已关闭。这些被称为
“远程分支”和与本地分支相同,只是Git
将不允许您签出它们-但是,您可以从中合并
它们,将它们区分到其他分支,在它们上运行历史日志,等等
同步后在本地执行所有这些操作
从远程服务器获取新数据的第二个命令
是git pull。这个命令基本上会立即运行git fetch
然后是跟踪的远程分支的git合并
由您当前所在的分支机构执行。运行获取和合并
单独使用命令所涉及的魔法和问题更少,但如果
就像pull的概念一样,您可以在
官方文件
git fetch
更新远程跟踪分支的本地副本。如果您配置的遥控器是origin
(通常是这种情况),则git fetch
将更新origin/master
以及远程存在的任何其他分支。这些分支指向远程分支当前所在的提交
例如,考虑调用<代码> Git日志-漂亮= OnLeun-AbBrv提交-图-装饰-所有< /代码>:
* 46960d3 (origin/master) Commit 5
* 8b050c8 Commit 4
* cee210b (HEAD, master) Commit 3
* 075aafe Commit 2
* 69ade0a Commit 1
在本例中,gitfetch
检索到两个新提交(4和5),但本地master
分支仍然落后
要纠正这种情况,必须签出master
(如果尚未签出)(git checkout master
),然后与新提交合并(git merge origin/master
)
git pull
实际上是“从当前分支跟踪的远程获取,然后与获取的提示提交合并”的同义词在这种情况下,它相当于git-fetch-origin&&git-merge-origin/master
这个答案涵盖了基础知识,但在技术上是错误的:您可以git-checkout
像origin/master
这样的远程分支,当您这样做时,您只会进入“分离头”状态。