git 處理衝突

2021-09-23 18:37:54 字數 940 閱讀 8964

git操作中,**衝突時,經常表現為,git pull 時 發生失敗 和 git push 時被拒絕。

git pull 時因為衝突而失敗的原因是,本地修改了**,但是沒有提交,其他隊友也修改了某檔案,並且已經提交過了。如果強行pull **,很可能導致你本地修改的**被覆蓋,無法找回(因為本地**沒有提交,沒有生成版本號,所以如果被覆蓋則無法回退)。

此時有以下幾種處理方式:

git revert -> git pull 。如果確定丟棄自己的本地**,直接 git revert ,然後執行git pull。 這個操作丟棄了本地**,丟棄操作不可逆,丟棄的修改無法找回,請謹慎操作!(該操作適合本地修改的**少的情況,建議執行該操作前先對比差異)

git commit -> git pull -> 處理衝突 -> git add -> git commit -> git push 。先提交本地**,然後pull 下來最新**,然後合併**,處理衝突檔案,處理完成後再次提交**。(該操作適合一般場景,推薦使用。)

如果想合併自己修改的**和最新版本的修改內容,但是又不想在合併之前提交自己的本地**,也可以選擇這個操作:git stash -> git pull -> git stash pop -> 處理衝突 -> git add -> git commit -> git push 。這個操作先暫存自己的本地**,然後拉取最新**,然後再取出暫存的**和最新**合併,然後處理衝突檔案,之後提交**。該操作過程中,可以通過 git stash list 檢視暫存區檔案列表,幫助跟蹤檔案狀態。

git push被拒絕,因為您當前分支的最新提交落後於其對應的遠端分支。問題的出現是因為,你在commit 某個檔案後,並沒有及時push,然後有隊友也對該檔案進行了修改,並且提交了**。導致你對該檔案的提交並不是最新的提交。

此時應該先pull 下來最新**,然後檢查**後,再提交**。

Git 衝突處理

tom想看,jerry 在他的私人分支做什麼?這就是為什麼他試圖從wchar support分支把最新的修改,但git 放棄操作在得到錯誤訊息後。tom centos src git pull origin wchar support上面的命令會產生以下結果。remote counting obje...

git衝突處理

當兩條分支對同乙個檔案的同乙個文字塊進行了不同的修改,並試圖合併時,git不能自動合併的,稱之為衝突 conflict 解決衝突需要人工處理。比如當前在master分支,想把dev分支merge過來,結果產生了乙個衝突,開啟檔案內容可以看到這麼乙個衝突 head test in master tes...

git處理分支衝突

首先假設我們有乙個分支master,為了開發我們將在master分支的基礎上建立新分支dev git branch dev 然後檢視是否建立分支成功 git branch 將會顯示我們建立的全部分支 然後我們切換到dev分支開始工作 git checkout dev 到目前git的分支管理如下 假設...