Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解git回迁和您的本地回购_Git_Git Branch_Git Pull_Git Checkout_Git Fetch - Fatal编程技术网

了解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
这样的远程分支,当您这样做时,您只会进入“分离头”状态。