Git的衝突

Git固然好,也是有問題出現的。比如”衝突問題“就是Git出現的比較多的問題之一,我們本次來模擬一下這個問題是怎麼出現的,又是怎麼解決的。

1 . 創建一個新的分支,名稱叫做”bug“,並切換到”bug“分支。


接着,我們在bug分支上對於Test.txt的第四行進行了修改,把”Sun“改爲”Sunny“,然後執行”git add .“、”git commit -m“,並切換回”master“。



2 . 我們查看”Test.txt“文件,發現沒有被修改。嗯,不錯。我們現在仍然在Test.txt第4行進行修改,將”Sun“修改爲”Sunnyer“,並執行”git add .“和”git commit -m“,然後查看結果,沒有問題,繼續。


3 . 合併,執行”git merge bug“和”git status“時,我們可以看到:



git bash提示Test.txt都有修改,不知道採用哪種修改,並且Test.txt的圖標被黃色的感嘆號標識。於是,我們就需要在兩個分支的修該做出決策,需要哪一次的修改。


打開後也提示,有兩次修改。需要我們修改文件後,再次提交:



這樣,就解決了衝突。刪除掉”不要的修改“。也可以使用”git log --graph --pretty=oneline --abbrev-commit“命令來看處理的過程。


4 . 其他

當我們合併master分支和bug分支的時候,git默認的是採用Fast-forword的方式合併,如果採用這種方式,刪除掉分之後,就會丟掉分支的信息。如果禁止以這種方式合併,git就會在合併的時候生成一個新的Commit。

我們在開發系統的過程中,master分支應該是比較穩定的,平時的話,由於代碼更新過快,我們是需要新建一個分支,然後在新建的分支上修改,交給測試人員測試無誤後,然後合併至master上。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章