今天有這么一件事情,倉庫里有一個文件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ū)別,留下你需要的,然后提交推送就好。