- gitignore没有生效
原因是由于已经track上了,所以应该设法取消文件追踪 - 如何取消文件追踪
最简单的办法就是本地rm 文件
然后git rm 文件
最后git rm 文件 --cached - 取消追踪的另外一个方法
git update-index --assume-unchanged <取消跟踪的文件>
注:该命令只能取消提交到暂存区之前的文件,可以先用git reset <文件名>将暂存区的文件回退到暂存区之前,然后再取消跟踪。
git log 与 reflog的区别
reflog 操作永远是向前的,reset记录也在reflog当中reset的时候--hard 与 --soft的区别
reset的本质是将HEAD指针指向一个特定的commit
hard参数会影响你的index和working
而soft不会,
除此之外还有一个mixed参数,指 index和repo是一致的,但是working不会修改如何撤销pull操作
最简单的就是reset回去
另外可以试一下ten minutes玩法git pull 中真正做了什么?
第一步 执行了git fetch
第二步 执行了git merge
关于git最常用的用法,我觉得软一峰的这两篇文章足够了
http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
http://www.ruanyifeng.com/blog/2015/08/git-use-process.html
参考:
http://blog.csdn.net/leedaning/article/details/44976319
http://www.jianshu.com/p/1b235abd8ee8
http://www.cnblogs.com/kidsitcn/p/4513297.html
https://stackoverflow.com/questions/1223354/undo-git-pull-how-to-bring-repos-to-old-state