公有文件提交沖突的解決方法

今天有這么一件事情,倉庫里有一個文件a,內容是這樣的,我把它拉取(pull)到本地。

Today is a good day.

然后呢,這個文件不是我的負責范圍,我就一直沒管他,在更新其他的文件,隨手加了一行注釋就撂那了。

Today is a good day.
<!--What a busy day is.-->

做完手頭的工作,準備向遠程推送(push)。
先拉取(pull)一下吧,看有沒有什么修改。
結果出錯了。。。

Git 沖突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.

這是什么情況呢?
打開遠程倉庫,我才明白是怎么回事。原來是我的好朋友“小明”,在我pull這個文件之后,他又在里面加了一行,提交(commit)推送(push)了。
這可怎么辦呢?

git有對修改進行暫存的區(qū)域,是一個堆棧結構,如果遇到這樣的情況,就可以使用如下命令:

git stash          #壓堆棧

然后你就可以使用git pull,這里我們拉取,看看“小明”改了啥。

Today is a good day.
<!--But you can't believe how late we worked at last night, we were so tired.-->

好么,他也加了條注釋,然后順手提交了,尷尬。
其實上面的就是“小明”修改后文件的完整內容,接下來我們把堆棧彈出。

Today is a good day.
<!--But you can't believe how late we worked at last night, we were so tired.-->
<!--What a busy day is.-->

這樣兩行注釋都會出現(xiàn)在文件里,你可以根據(jù)需要來做相應的修改。也可以使用git diff來查看修改前后的區(qū)別,留下你需要的,然后提交推送就好。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容