当前回答
其他回答
两者有什么区别?
git pull
和git fetch
?
要理解这一点,你首先需要明白,你所在的本地数据库不仅维护着您的本地存储库,而且还维护着远程存储库的本地副本。
git fetch
将远程仓库的本地副本更新到最新 。 例如, 如果您的远程仓库是 GitHub , 您可能想要将远程仓库中所做的任何更改移到您的本地副本 远程仓库。 这将允许您执行比较或合并等操作 。
git pull
另一方面,会将远程仓库的更改降低到您保存自己的代码的位置。 通常,git pull
会做一个git fetch
首先将远程存储库的本地副本更新, 然后它将把修改合并到您自己的代码存储库中, 并可能合并到您的工作副本中 。
我花了一点点时间来理解有什么区别, 但这只是一个简单的解释。master
在您的本地主机是分支 。
当您克隆一个仓库时, 将整个仓库获取到本地主机主机。 这意味着当您克隆一个仓库时, 您将会有一个源/ 主指示器HEAD
指向同一方向HEAD
.
当您开始工作并投入工作时,您将主指针推进到HEAD
+ 你的承诺。但来源/总指针仍然指向你克隆时是什么。
因此,区别在于:
- 如果你做了
git fetch
它只会获取远程仓库中的所有更改( A) 。吉特胡布)并移动源/主指针到HEAD
同时,你的当地分行长会继续指出它的位置。 - 如果你做了
git pull
,它基本上可以(如先前解释的)提取(如前所解释的)并合并对主分支的任何新修改,然后将指针移到HEAD
.
git fetch
将检索远程分支,以便您能够git diff
或git merge
它们与当前分支一起存在。git pull
将运行当前分支所跟踪的远程条格获取,然后合并结果。您可以使用git fetch
查看是否对远程分支有任何更新,而不必将其与您的本地分支合并。
其中一个使用实例git fetch
是,以下将告诉您自您上次拉动以来远程分支的任何变化... 这样您就可以在实际拉动之前检查, 这样就可以改变您当前分支和工作副本中的文件 。
git fetch
git diff ...origin
见见git diff
双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双- 双..
三点和三点...
语法。
Git 获取
帮助您从一个git repository
。让我们假设你在一个团队中工作 使用GitFlow
,其中团队在多个branches
(特征). 与git fetch --all
command
您可以了解所有新的信息branches
内repository
.
大部分git fetch
用于git reset
。例如,您想要将全部本地更改恢复到当前仓库状态。
git fetch --all // get known about latest updates
git reset --hard origin/[branch] // revert to current branch state
Git 拉着
此命令更新您branch
与当前repository
branch
状态。让我们继续GitFlow
多个特性branches
原为merged
至develop
分支,当您想要为项目开发新特性时,您必须去开发branch
并做一个git pull
以获得当前状态develop
branch
GitFlow 文档文档https://gist.github.com/peterdeweese/4251497
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别