请问这里的拉取和获取有什么区别,分别在什么时候使用。
对于后者,“获取”的含义是命令git fetch,即从远程仓库抓取本地没有的修改;至于前者,大多数情况下,这里“拉取”的含义是git fetch紧接着一个git merge,对应git中的命令git pull,即从远程仓库抓取本地没有的修改并自动合并到远程分支。由于git pull的结果有时会让我们看不懂,所以显式地使用fetch和merge命令会比较好一些。当然,对于一些简单的情况,前者git pull更方便一点。如果一定要问二者各自的适用情况的话,我觉得很难说,因为这涉及到很多复杂的情况和其他git命令。我觉得大多数情况下,二者的区别就是我前面说的那样。而且,如果你只使用图形化的版本控制系统的话,就很难碰到或处理这些复杂的情况。如果其他人有高见的话,我洗耳恭听,毕竟每个人的工作经历千差万别。
git fetch
git merge
git pull
fetch
merge
前者是 pull,后者是 fetch,pull 等于 fetch + merge。
pull
fetch + merge
前面两个楼上已经说的很好了,我再用大白话说一下,拉取会把你本地仓库没有 而远程仓库有的更新写到你本地中,而获取的用处更多的是用来查看对于你本地仓库的状态来说远程仓库是否有更新,仅此而已,并不会使你的本地仓库发生改变
对于后者,“获取”的含义是命令
git fetch
,即从远程仓库抓取本地没有的修改;至于前者,大多数情况下,这里“拉取”的含义是git fetch
紧接着一个git merge
,对应git中的命令git pull
,即从远程仓库抓取本地没有的修改并自动合并到远程分支。由于
git pull
的结果有时会让我们看不懂,所以显式地使用fetch
和merge
命令会比较好一些。当然,对于一些简单的情况,前者git pull
更方便一点。如果一定要问二者各自的适用情况的话,我觉得很难说,因为这涉及到很多复杂的情况和其他git命令。我觉得大多数情况下,二者的区别就是我前面说的那样。而且,如果你只使用图形化的版本控制系统的话,就很难碰到或处理这些复杂的情况。
如果其他人有高见的话,我洗耳恭听,毕竟每个人的工作经历千差万别。
前者是
pull
,后者是fetch
,pull
等于fetch + merge
。前面两个楼上已经说的很好了,我再用大白话说一下,拉取会把你本地仓库没有 而远程仓库有的更新写到你本地中,而获取的用处更多的是用来查看对于你本地仓库的状态来说远程仓库是否有更新,仅此而已,并不会使你的本地仓库发生改变