码迷,mamicode.com
首页 > 其他好文 > 详细

Git各种撤销操作

时间:2016-05-13 02:52:18      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

撤销git add操作

git reset HEAD <file>   # 取消add操作并保留修改
git checkout -- <file> #若继续该命令,则会删除掉刚刚的修改内容

撤销git commit操作

git reset --soft <commit_id>   #可以回退到某个commit并保存之前的修改  <commit_id>从git log中取,取前7位即可
git reset --hard <commit_id>  #回退到某个commit不保留之前的修改

撤销git push操作

push后撤销该次commit

git revert <commit_id>

原理: git revert 会产生一个新的 commit,它和指定 SHA 对应的 commit 是相反的(或者说是反转的)。 任何从原先的 commit 里删除的内容会在新的 commit 里被加回去,任何在原先的 commit 里加入的内容会在新的 commit 里被删除。这是 Git 最安全、最基本的撤销场景,因为它并不会改变历史 — 所以你现在可以 git push 新的“反转” commit 来抵消你错误提交的 commit。

push后删除一些不该提交的文件

删除远程分支上的文件,同时也删除了本地仓库的文件:

git rm file 
git commit -m "test delete"   
git push origin branch name

删除远程分支上的文件,但同时保留本地仓库的文件

git rm --cached filename 
git commit -m "delete" 
git push origin branch name

删除远程分支上的文件夹,但同时保留本地仓库的文件夹及文件

git rm -r --cached directory
git commit -m "test"
git push origin branch name

[参考]
Git撤销提交并保存之前的修改
如何在 Git 里撤销(几乎)任何操作

Git各种撤销操作

标签:

原文地址:http://blog.csdn.net/revitalizing/article/details/51337592

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!