- gitignore沒有生效
原因是由于已經(jīng)track上了,所以應(yīng)該設(shè)法取消文件追蹤 - 如何取消文件追蹤
最簡單的辦法就是本地rm 文件
然后git rm 文件
最后git rm 文件 --cached - 取消追蹤的另外一個方法
git update-index --assume-unchanged <取消跟蹤的文件>
注:該命令只能取消提交到暫存區(qū)之前的文件勿负,可以先用git reset <文件名>將暫存區(qū)的文件回退到暫存區(qū)之前盒蟆,然后再取消跟蹤蟹腾。
git log 與 reflog的區(qū)別
reflog 操作永遠是向前的,reset記錄也在reflog當(dāng)中reset的時候--hard 與 --soft的區(qū)別
reset的本質(zhì)是將HEAD指針指向一個特定的commit
hard參數(shù)會影響你的index和working
而soft不會,
除此之外還有一個mixed參數(shù),指 index和repo是一致的奠涌,但是working不會修改如何撤銷pull操作
最簡單的就是reset回去
另外可以試一下ten minutes玩法git pull 中真正做了什么?
第一步 執(zhí)行了git fetch
第二步 執(zhí)行了git merge
關(guān)于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.reibang.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