从理解git fetch开始,到git merge和pull的作用
当你开始使用Git时,你可以理解commit、push、pull等,但是fetch是什么呢?这让人有些困惑,对吧?
因为pull命令结合了fetch和merge两个指令,所以很不容易理解。
pull = fetch + merge origin/master
fetch是什么意思?
在Git的情况下,有两个仓库,分别是远程仓库和本地仓库。fetch是从远程仓库获取最新信息并将其带入本地仓库的命令。
即使进行了fetch,文件不会像pull那样被更新。
只是本地仓库被更新而已。
更具体地说,比如如果使用了主分支(master branch),那么origin/master就会被更新。
master和origin/master的区别。
假设我们需要更新并提交本地文件,我们会进入master分支。因为master分支是与本地工作目录相关联的。
origin/master 是与存储库关联的分支。
虽然说参照 origin/master,但并不总是直接查看远程方的状态。
通过执行 git fetch,可以更新 origin/master 分支。
在本地代码库中,通常会保存master分支和origin/master分支的信息。当执行fetch操作时,如果有新的更新,则origin/master分支会被更新为最新版本,而master分支则表示还未进行这部分更新。因此,需要进行合并(merge)操作。
师傅将最新信息合并到原始主分支中,对吧?
合并git命令
如果不能理解这个,对于那些使用过svn等工具的人来说,他们会有疑问:应该将哪个分支合并到主分支呢?
需要将远程存储库的最新信息合并到本地的主分支。
git merge origin/master
通过进行这些处理,本地文件将会被更新为最新状态。
拉取git
在了解这些之后,使用git pull命令可以一次性完成上述过程。这是一个方便的命令,但只有在理解这些内容的前提下才能正确地使用,以便在执行pull操作时遇到冲突等情况时能够冷静应对。