Git commit與pull的先后順序及說明
整理這個問題的起因
1.前些天一個晚輩問我關(guān)于commit與pull的先后順序問題
2.今天又與同事爭論了一番commit與pull的先后順序問題
我的建議是
1.在本地修改與遠程代碼無沖突的情況下,優(yōu)先使用:pull->commit->push
2.在本地修改與遠程代碼有沖突的情況下,優(yōu)先使用:commit->pull->push
我們怎么去確定是否有沖突呢?
一般我們在合作開發(fā)一個項目的過程中,都會有分工,有時會兩個人同時修改一個類,有時整個類都是你自己在開發(fā)。
如果都是自己在開發(fā)的類,當(dāng)然優(yōu)先使用pull->commit->push
,為什么我更傾向這種方式呢,因為這樣會減少Git沒有必要的merge。
如果有沖突的情況下,先pull了會出現(xiàn)什么問題呢?
如果你的判斷失誤,在本地修改與遠程代碼有沖突的情況下,先執(zhí)行了git-pull
,即使是這樣也不用擔(dān)心,git會給你一個錯誤提示,這時候你再去執(zhí)行commit->pull->push
也是沒有問題的。
我們可以看一下
下面這個git提交記錄的截圖:
圖中,
我們可以看到四次merge的提交,實際上這四次都是沒有沖突的merge,這是commit->pull->push
中,git自動生成的merge。
如果這里我們采用pull->commit->push
呈現(xiàn)出來的就會是一條沒有merge、沒有多余commit的一條完美分支。
git-pull(https://git-scm.com/docs/git-pull)
Incorporates changes from a remote repository into the current branch.
In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率)
i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率),需要的朋友可以參考下。2011-01-01GIT相關(guān)-IDEA/ECLIPSE工具配置的教程詳解
這篇文章主要介紹了GIT相關(guān)-IDEA/ECLIPSE工具配置的教程,本文通過實例圖文相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10永恒之藍實戰(zhàn)教程之Mac通過Metasploit攻擊Server2008的詳細過程
這篇文章主要介紹了永恒之藍實戰(zhàn)教程?Mac通過Metasploit攻擊Server2008,首先準(zhǔn)備一個Server2008,主要功能是使網(wǎng)絡(luò)上的機器能夠共享計算機文件、打印機、串行端口和通訊等資源,需要的朋友可以參考下2022-08-08