git撤销的方法

一.撤销修改的方法
  1. 撤销本地全部没有git add过的修改
    git checkout -- .

  2. 使用库上文件覆盖本地修改(当然是指用本地库覆盖)git checkout file_name

  3. 回退掉某一次commit,回退方式是自动生成一个反向的commit,不会影响其他commmitgit revert commitID

  4. 将git库状态强制回退到某个节点号,这个节点号之后的commit全部丢失git reset --hard commitID

  5. 将远端库强制覆盖到本地,放弃本地全部修改git reset --hard origin 分支名

  6. 回退最近一次的commit,且该次commit所作的修改会退到没有被add的状态git reset --mixed HEAD~1

  7. 回退最近的一次commit,回退后该次commit所作的修改仍处于add过了的状态,可以通过git status查看状态,git reset --soft HEAD~1

  8. 回退最近一次的commit,回退的同时working tree也会被修改,也就是回退的这次的commit所做的修改都会消失git reset --hard HEAD~1


二、撤销分支的方法

在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复。

首先用以下步骤创建一个新分支,修改一些文件后删除,以便进行恢复。

1.创建分支 abc

git branch abc
  
  
  • 1



2.查看分支列表

git branch -a
  abc
* develop
  remotes/origin-dev/develop
  
  
  • 1
  • 2
  • 3
  • 4



3.切换到abc分支,随便修改一下东西后 commit

切换分支
git checkout abc
Switched to branch 'abc'

创建一个文件
echo 'abc' > test.txt

commit
git add .
git commit -m 'add test.txt'
[abc 3eac14d] add test.txt
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13



4.删除分支abc

git branch -D abc
Deleted branch abc (was 3eac14d).
  
  
  • 1
  • 2



5.查看分支列表,abc分支已不存在

git branch -a
* develop
  remotes/origin-dev/develop
  
  
  • 1
  • 2
  • 3


恢复步骤如下:

1.使用git log -g 找回之前提交的commit

commit 3eac14d05bc1264cda54a7c21f04c3892f32406a
Reflog: HEAD@{1} (fdipzone <fdipzone@sina.com>)
Reflog message: commit: add test.txt
Author: fdipzone <fdipzone@sina.com>
Date:   Sun Jan 31 22:26:33 2016 +0800

    add test.txt


  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9


2.使用git branch recover_branch[新分支] commit_id命令用这个commit创建一个分支

git branch recover_branch_abc 3eac14d05bc1264cda54a7c21f04c3892f32406a

git branch -a
* develop
  recover_branch_abc
  remotes/origin-dev/develop
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

可以见到recover_branch_abc已创建

3.切换到recover_branch_abc分支,检查文件是否存在

git checkout recover_branch_abc
Switched to branch 'recover_branch_abc'

ls -lt
total 8
-rw-r--r--   1 fdipzone  staff     4  1 31 22:38 test.txt
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这样就可以恢复被误删的分支了


1.git 误删分支恢复方法

2. 恢复不小心删除的git库上文件--git常见后悔药

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值