? ? 最近遇到了一個問題 我是用git提交代碼的時候 分支上 顯示的是merge? 意思是 合并代碼了 每次都會 創建一個分支? 因為我和另一個小伙伴共同 開發一個項目 所以 小伙伴告訴我 總是創建新的分支 我細細看了一下 測試了一下?
? 我們兩個人 修改不同的文件 同時修改 他提交了 我再提交? 就會出現 合并分支的問題 我想著 這是因為 兩個人都修改代碼了 代碼本來就是要合并代碼的
? 當代碼是最新的代碼時候? 我自己改了代碼 提交上去 發現代碼就不是 merge? 就不會出現Merge branch 'master' of ... 這個了。
當然我去晚上搜了一下?
這是因為pull其本質是fetch+Merge的結合
1.如果遠程分支超前于本地分支,并且本地也沒有commit操作,此時pull會采用’fast-forward’模式,該模式不會產生合并節點,也即不產生"Merge branch ‘master’ of …"信息。
2.如果本地有commit提交,此時若存在沖突,pull拉取代碼時遠程和本地會出現分叉,會進行分支合并,就會產生"Merge branch ‘master’ of …"信息。
解決方法
使用git pull --rebase命令,如果沒有沖突,則會直接合并,如果存在沖突,手動解決沖突即可,不會再產生那條多余的信息。如果你不想每次都rebase,可以在git bash里執行
這個配置就是告訴git在每次pull前先進行rebase操作。?
git config --global pull.rebase true