今天有这么一件事情,仓库里有一个文件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有对修改进行暂存的区域,是一个堆栈结构,如果遇到这样的情况,就可以使用如下命令:
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.-->
这样两行注释都会出现在文件里,你可以根据需要来做相应的修改。也可以使用git diff来查看修改前后的区别,留下你需要的,然后提交推送就好。
网友评论