1、git merge衝突了,根據提示找到衝突的檔案,解決衝突
如果檔案有衝突,那麼會有類似的標記
2、修改完之後,執行git add 衝突檔名
3、git commit
注意:沒有-m選項
進去類似於vim的操作介面,把conflict相關的行刪除掉
4、直接push就可以了,因為剛剛已經執行過相關merge操作了
相關的操作如下
衝突產生
[root@monitor demo]# git branch #當前在master分支下
* master
psr/psr-01
psr/psr-02
[root@monitor demo]# git checkout psr/psr-02 #切換到psr/psr-02分支下
switched to branch 'psr/psr-02'
[root@monitor demo]# git branch
master
psr/psr-01
* psr/psr-02
[root@monitor demo]# ls
license new_remote_branch.txt psr_psr-02.txt readme.md
[root@monitor demo]# vim psr_psr-02.txt #修改psr/psr-02分支上的檔案
[root@monitor demo]# git add psr_psr-02.txt
[root@monitor demo]# git commit -m 'psr_psr-02.txt has changed on psr/psr-02 branch' #提交到暫存區
[psr/psr-02 62ca72c] psr_psr-02.txt has changed on psr/psr-02 branch
1 files changed, 6 insertions(+), 0 deletions(-)
[root@monitor demo]# git checkout master #切換到master分支下
switched to branch 'master'
[root@monitor demo]# vim psr_psr-02.txt #在master分支下也對psr_psr-02.txt進行修改
[root@monitor demo]# git add psr_psr-02.txt
[root@monitor demo]# git commit -m 'changed this file on master branch'
[master 282fbeb] changed this file on master branch
1 files changed, 2 insertions(+), 0 deletions(-)
[root@monitor demo]# git merge psr/psr-02 #把psr/psr-02分支合併到當前分支,這時提示衝突了
auto-merging psr_psr-02.txt
conflict (content): merge conflict in psr_psr-02.txt
automatic merge failed; fix conflicts and then commit the result.
衝突解決過程
衝突檔案的格式基本如下
*****==到》 psr/psr-02是在其它分支下修改的內容
需要在這個兩個版本中選擇乙個,然後把標記符號也要一起刪除
<<<<<<< head
add some lines on master branch
add some lines on psr/psr-01 branch
2023年12月13日14:43:34 changed after psr/psr-02
>>>>>>> psr/psr-02
衝突檔案
vim psr_psr-02.txt
<<<<<<< head
add some lines on master branch
add some lines on psr/psr-01 branch
2023年12月13日14:43:34 changed after psr/psr-02
>>>>>>> psr/psr-02
修改衝突檔案
# vim psr_psr-02.txt
readme.md
i'am in new branch psr/psr-02 based on psr/psr-01
add some lines on master branch
add some lines on psr/psr-01 branch
2023年12月13日14:43:34 changed after psr/psr-02
新增衝突的檔案,然後就可以直接push了
merge branch 'psr/psr-02'
conflicts:
psr_psr-02.txt
# it looks like you may be committing a merge.
# if this is not correct, please remove the file
# .git/merge_head
# and try again.
# please enter the commit message for your changes. lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# on branch master
# your branch is ahead of 'origin/master' by 1 commit.
需要刪掉下面這兩行
conflicts:
psr_psr-02.txt
執行git push 操作
git push origin master
git 找到衝突 git 衝突解決
用git pull來更新 的時候,遇到了下面的問題 出現這個問題的原因是其他人修改了 php並提交到版本庫中去了,而你本地也修改了 php,這時候你進行git pull操作就好出現衝突了,解決方法,在上面的提示中也說的很明確了。1 保留本地的修改 的改法 1 直接commit本地的修改 也一般不用這...
git 衝突合併
當我們多人合作的時候,我們從遠端倉庫拉取更新出現衝突的時候,出現以下錯誤,這時候我們就需要手動修改衝突檔案了。git pull origin master from github.com branch master fetch head automatic merge failed fix conf...
Git 合併衝突
步驟 git status 找到衝突的檔案 將衝突去除 將衝突檔案重新加入臨時區 git add egis api v1 router.py 合併分支 git rebase continue 重新提交 git review 步驟 git checkout master git pull origin...