當前位置:首頁 » 電腦資訊 » 為什麼沖突文件還是提交了

為什麼沖突文件還是提交了

發布時間: 2022-01-28 21:17:34

1. git 提交沖突怎麼辦

沖突的產生
很多命令都可能出現沖突,但從根本上來講,都是merge 和 patch(應用補丁)時產生沖突。
而rebase就是重新設置基準,然後應用補丁的過程,所以也會沖突。
git pull會自動merge,repo sync會自動rebase,所以git pull和repo sync也會產生沖突。當然git rebase就更不用說了。
沖突的類型
邏輯沖突

git自動處理(合並/應用補丁)成功,但是邏輯上是有問題的。
比如另外一個人修改了文件名,但我還使用老的文件名,這種情況下自動處理是能成功的,但實際上是有問題的。
又比如,函數返回值含義變化,但我還使用老的含義,這種情況自動處理成功,但可能隱藏著重大BUG。這種問題,主要通過自動化測試來保障。所以最好是能夠寫出比較完備的自動化測試用例。
這種沖突的解決,就是做一次BUG修正。不是真正解決git報告的沖突。
內容沖突

兩個用戶修改了同一個文件的同一塊區域,git會報告內容沖突。我們常見的都是這種,後面的解決辦法也主要針對這種沖突。
樹沖突

文件名修改造成的沖突,稱為樹沖突。
比如,a用戶把文件改名為a.c,b用戶把同一個文件改名為b.c,那麼b將這兩個commit合並時,會產生沖突。
$ git status
added by us: b.c
both deleted: origin-name.c
added by them: a.c
如果最終確定用b.c,那麼解決辦法如下:
git rm a.c
git rm origin-name.c
git add b.c
git commit
執行前面兩個git rm時,會告警「file-name : needs merge」,可以不必理會。

樹沖突也可以用git mergetool來解決,但整個解決過程是在互動式問答中完成的,用d 刪除不要的文件,用c保留需要的文件。
最後執行git commit提交即可。
內容沖突的解決辦法
發現沖突

一般來講,出現沖突時都會有「CONFLICT」字樣:
$ git pull
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.

但是,也有例外,repo sync的報錯,可能並不是直接提示沖突,而是下面這樣:
error: project mini/sample
註:無論是否存在沖突,只要本地修改不是基於伺服器最新的,它都可能報告這個錯誤,解決方法都是一樣。

這個時候,需要進入報錯的項目(git庫)目錄,然後執行git rebase解決:
git rebase remote-branch-name
沖突解決的一般過程

merge/patch的沖突解決

先編輯沖突,然後git commit提交。
註:對於git來講,編輯沖突跟平時的修改代碼沒什麼差異。修改完成後,都是要把修改添加到緩存,然後commit。
rebase的沖突解決

rebase的沖突解決過程,就是解決每個應用補丁沖突的過程。
解決完一個補丁應用的沖突後,執行下面命令標記沖突已解決(也就是把修改內容加入緩存):
git add -u
註:-u 表示把所有已track的文件的新的修改加入緩存,但不加入新的文件。

然後執行下面命令繼續rebase:
git rebase --continue
有沖突繼續解決,重復這這些步驟,直到rebase完成。

如果中間遇到某個補丁不需要應用,可以用下面命令忽略:
git rebase --skip

如果想回到rebase執行之前的狀態,可以執行:
git rebase --abort

註:rebase之後,不需要執行commit,也不存在新的修改需要提交,都是git自動完成。
編輯沖突的方法

直接編輯沖突文件

沖突產生後,文件系統中沖突了的文件(這里是test.txt)裡面的內容會顯示為類似下面這樣:
a123
<<<<<<< HEAD
b789
=======
b45678910
>>>>>>>
c
其中:沖突標記<<<<<<< (7個<)與=======之間的內容是我的修改,=======與>>>>>>>之間的內容是別人的修改。
此時,還沒有任何其它垃圾文件產生。

最簡單的編輯沖突的辦法,就是直接編輯沖突了的文件(test.txt),把沖突標記刪掉,把沖突解決正確。

2. 為什麼我SVN 更新時沒有看到有沖突但是文件夾還是有黃色感嘆號

直接點擊沖突文件夾,有黃色感嘆號說明之前生成過沖突文檔,右鍵點擊解決勾選沖突文檔,這時候文件夾的黃色感嘆號就沒有了

3. svn 提交時總提示一下文件沖突

可能是你在提交之前,已經有人,提交了,你先更新下你想要提交的文件,注意保存好你修改過的代碼,然後把你修改過的代碼重新,加入到你想要提交的文件裡面,然後提交看看,

4. 兩個人改了一個文件,git提交代碼沖突怎麼解決

你pull下來git會提示有沖突啊,然後你沖突的文件,尋找用=====隔開的兩部分,HEAD是你的內容,另外一部分是repos的內容,然後手工修改保留你想要的部分,在git add 和git commit然後再git push上去就好了。多人協作經常都會遇到沖突的,要習慣解決沖突
的值……);Range_lookup為一邏輯值,如果

5. MyEclipse中SVN修改代碼出現沖突了怎麼辦,生成了一些沖突文件,也不能提交了

.mine結尾的就是你的文件 保留這個其它全刪除 然後把這個名字改回去 記下自己修改的代碼 然後還原 更新 再重新修改提交

6. 能不能具體一點,文件沖突時什麼意思,怎麼解決,非常謝謝

文件沖突
就是你在安裝
或是下載文件時沒有完成就關閉了機器或文件造成的,
解決辦法

把東西刪除從新下載下來就可以了

7. 為什麼文件刪除後還是沖突

本人以前也遇到類似的問題。可能是因為安裝信息已寫入了注冊表,刪除文件後並沒有刪除注冊表中關於安裝的信息,所以再次安裝時可能會提示有沖突。可以試試在程序中運行regedit,即打開注冊表編輯器。然後搜索關於安裝軟體名稱的信息,把搜索到的這些信息刪除掉即可。

8. svn提交文件沖突怎麼解決方法

那麼一般是因為您修改了本地某文件或目錄結構,而別人也修改了同一個的文件或目錄並且先於您提交到了SVN庫。

9. 沖突文件是什麼

就是文件和文件之間有不兼容的地方,導致程序出現異常,這個文件就叫做沖突文件

10. 提交文件時提示文件沖突怎麼辦

文件重名了還是?

熱點內容
為什麼火星的顏色不一樣 發布:2024-12-25 23:24:57 瀏覽:915
手機膜用久了為什麼會翹邊 發布:2024-12-25 23:07:30 瀏覽:123
為什麼上海到阜陽火車時間短 發布:2024-12-25 23:04:27 瀏覽:707
女生為什麼喜歡壓榨男生 發布:2024-12-25 23:03:47 瀏覽:797
微信分身附近的人為什麼看不到他 發布:2024-12-25 22:57:25 瀏覽:803
微信好友為什麼很多 發布:2024-12-25 22:45:56 瀏覽:556
為什麼睡覺時候會睜開眼睛 發布:2024-12-25 22:39:00 瀏覽:93
為什麼手機群里收到消息很慢 發布:2024-12-25 22:38:20 瀏覽:714
為什麼傷口自愈要時間 發布:2024-12-25 22:34:38 瀏覽:56
吃止疼葯為什麼對身體不好 發布:2024-12-25 22:33:47 瀏覽:38