請問這裡的拉取和獲取有什麼區別,分別在什麼時候使用。
對於後者,「獲取」的意思是命令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
。前面兩個樓上已經說的很好了,我再用大白話說一下,拉取會把你本地倉庫沒有而遠程倉庫有的更新寫到你本地中,而獲取的用處更多的是用來看看對於你本地倉庫的狀態來說遠端倉庫是否有更新,僅此而已,並不會使你的本地倉庫改變