Git pull命令與fetch命令的區(qū)別
Git pull命令與fetch命令的區(qū)別
今天在公司碰到個問題,公司不使用master分支作為主分支,而使用release分支作為主分支,這就碰到了個問題,也就是當clone一個項目下來的時候,如果master跟release分支有沖突,就不能pull了,自己還要解決沖突。
剛下一個項目,也不懂沖突到底怎么回事,也就很難搞了。
這個時候,就不得不提Git的兩個命令,git fetch和git pull
Git中從遠程的分支獲取最新的版本到本地有這樣2個命令:
Git fetch
git fetch:相當于是從遠程獲取最新版本到本地,不會自動merge
git fetch origin master git log -p master..origin/master git merge origin/master
以上命令的含義:
首先從遠程的origin的master主分支下載最新的版本到origin/master分支上
然后比較本地的master分支和origin/master分支的差別
最后進行合并
上述過程其實可以用以下更清晰的方式來進行:
# 將遠程release分支拉到本地的releaselocal分支 git fetch origin releaser:releaselocal # 切換到tmp分支 git checkout releaselocal
這樣也就解決了這個問題,之后master分支刪除掉,直接從releaselocal創(chuàng)建master分支,這樣所有的分支都跟遠端的release分支同步了。
Git pull
git pull:相當于是從遠程獲取最新版本并merge到本地
git pull origin release:release
上述命令其實相當于git fetch 和 git merge
這個命令其實不太靠譜,如果本地沒有release分支的話,會自動根據當前分支branch一個release分支,然后來執(zhí)行pull操作,所以不太靠譜
所以我通常的做法是保留本地的master分支不進行任何commit,然后通過master分支來進行切換,這樣在master分支上是clean的,然后通過之前的命令就不產生沖突了
之后在release分支上進行merge操作,安全很多。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
2018即將推出的Apache Spark 2.4都有哪些新功能
即將發(fā)布的 Apache Spark 2.4 版本是 2.x 系列的第五個版本。 本文對Apache Spark 2.4 的主要功能和增強功能進行了概述,需要的朋友可以參考下2018-09-09
Linux使用CentOS 7內核修改鏡像源解決“Could not resolve&nb
解決yum安裝問題需檢查網絡、備份配置、下載新源、生成緩存及更新源,以恢復正常使用2025-07-07
Apache和Tomcat有什么區(qū)別_動力節(jié)點Java學院整理
Apache 和 Tomcat 都是web網絡服務器,兩者既有聯系又有區(qū)別。下面通過本文給大家介紹Apache和Tomcat的區(qū)別,感興趣的朋友一起看看吧2017-08-08

