转自我的博客(http://gongzheng92.net)
.gitignore失效
常常出现这种情况:
1. 不小心stage并commit了/build *.o *.so 这样的文件。
2. 于是回过头去加.gitignore
3. 重新stage 与commit发现文件并没有被删除
解决:
原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交(来源)
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
将本地的一个分支推送到远程的另一个分支
git push 远程repo名 本地分支:远程分支