修改.gitignore文件不生效
git rm -r --cached .
移除已经托管的文件,然后重新上传仓库即可。
解决合并冲突
这种情况一般是在协同开发过程中,同一文件的同一地方被多人编辑或者在不同分支被编辑,然后在merge
时碰到,因为此时Git
无法确定要保留哪一处改动,
所以这时我们要根据CONFLICT
的提示,找到引起冲突的文件并打开,并找到类似下面的冲突符号:
<<<<<<< HEAD
比如这是冲突文件的第一行,你改动了此处,改动后的内容显示在这里
=======
而其他人也改动了第一行,并且他改动后的内容显示在这里
>>>>>>> xxxxxx
确认保留内容后,删除冲突符号,并依次执行:
git add 冲突文件名
git commit -m "conflict fixed"
git push
注意:commit
后直接push
即可,虽然提示了冲突,但实际已经合并过了。
push时遇到Everything up-to-date
说下我个人碰到的情况,我在master
分支合并dev
分支后进行push
,结果出现该提示,出现该问题的原因参考stackoverflow
的这里。
一个可行解决方案是创建一个新分支,假如为tmp
分支,并切换到该分支:
git branch tmp
git checkout tmp
然后三连:
git add .
git commit -m "something"
git push --set-upstream origin tmp
再三连:
git checkout master
git merge tmp
git push
这时应该就可以了,如果要删除tmp
分支请参考这里的2.4
小节。
一直显示merging
git reset --hard HEAD