1. 删除无意中添加到git仓库的带有.git的文件夹
很多解答是教你如何删除git repository的子模块(subModule),但是实际上这种情况不是子模块,所以在.git目录下没有.gtimodules文件,在config文件中也没有相关的配置。
所以用删除子模块的方法是行不通的。
正确方法很简单:
git rm --cached subfolder
git add subfolder
git commit -m "message"
git push
Ok,问题解决
2.撤销对文件a的修改
1)但a未被add
git checkout --a;
2)a被add
git reset HEAD a ;
git checkout --a;
3.撤销commit
1)git reset --hard <commit_id>
彻底会退到上一版本,本地源码也改变;
2)git reset --mixed <commit_id>
会退到某一版本,只保留源码,回退commit和index信息;
3)git reset --soft <commit_id>
只回退commit信息,不回退index file一级,如果还要提交,直接commit即可;
4.远程分支
使用-t参数,它默认会在本地建立一个和远程分支名字一样的分支
并自动切换到该分支
- $ git checkout -t origin/python_mail.skin