2016-07-27 77 views
0

最近,試圖學習一些分支合併我結束了擰我的主分支。 我的主分支代碼現在包含合併衝突消息,如: 「>>>>>> HEAD ==========」遍及它。 當我嘗試將它與沒有這些消息的實際代碼合併(我在另一個分支中有一個乾淨的代碼)時,git說一切都是最新的,沒有什麼可以改變的。 每當我從我的回購拉,代碼包含這些垃圾回收線。垃圾代碼Git主分支

我該如何解決? 在此先感謝...

+0

修復垃圾郵件行,提交併推送到遠程 – Martin

+0

修復垃圾郵件行將導致乾淨的代碼。只需提交乾淨的文件,然後推送它就可以完成這項工作了? –

+0

您可以將主分支重置爲非垃圾代碼,然後再次合併該分支,並在修復衝突後提交。 http://stackoverflow.com/questions/4114095/how-to-revert-git-repository-to-a-previous-commit – sunitj

回答

0

首先要做的事情......當你有這種「垃圾代碼「你的分支有衝突。這是由於您在同一行上發生的更改造成的......要解決此問題,您必須手動解決所有衝突。這些行說明你的分支「頭」是什麼,你的主分支是什麼,例如「MASTER」。

>>>>>>HEAD 
Your code 
========== 
========== 
Some change on the same line 
<<<<<<Master 

如果此代碼仍然在你的文件,並沒有改變由git的狀態命令的報道,你已經推行了這一文件有衝突的,以你的分支...

只是刪除那些行,並承諾和推再次...

也許您需要查看文件歷史記錄以查看推送的正確代碼。

0

我假設你只是在本地工作,並沒有將你的修改推送到一些遠程。

找出哪一個是最後一個乾淨的提交(緊接着用這些提交進行提交之前);我們稱之爲a876578523。然後,

git checkout a876578523 
git branch -f master a876578523 
git checkout master 

的命令只是讓你master分支(這只不過是一個「便條」反正)指向舊的,良好的,提交。在這三個命令之後,所有的事情都會像你之前的拙劣合併一樣。

(要找到「好」的承諾,最簡單的方法是將git checkout master ; gitk,只是環顧四周(並且,順便說一句,gitk有右鍵菜單,你可以點擊「好」的承諾,並挑選選項「重置分支到這裏」或類似的東西)。如果不成功,git checkout master ; git log應該也能工作,如果你能記住你的提交消息或時間戳。)