git移除上一次的commit中误添加的文件

在使用git进行版本管理时,往往会出现一些误操作,比如将一些不加上传的文件放到了暂存区,即上传到了上一次commit中

比如:

commit c134ab90ca7c4daf8bfa22e3ad706150abbd9bbc
Author: lin <542072149@qq.com>
Date:   Mon Jan 8 17:51:02 2018 +0800

    添加了不想放入暂存区的文件

    Change-Id: I911c17175d0637de21824d34bc2b7bf8055e9d6c

 package-lock.json | 10753 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 10753 insertions(+)

那么如何才能将他移出暂存区呢

解决方案一:
1. 
git rm --cached package-lock.json

----- result -------

rm 'package-lock.json'

2. 
git status

----- result -------

On branch demo
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    package-lock.json

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    package-lock.json

3. 
git commit --amend --allow-empty
 查看log
1. 
git log --stat

------- result ---------

commit ce6be4ee3179030606bcc3506d5ea4f14ad63fe1
Author: lin <542072149@qq.com>
Date:   Mon Jan 8 17:51:02 2018 +0800

    添加了不想放入暂存区的文件

    Change-Id: I911c17175d0637de21824d34bc2b7bf8055e9d6c
结论

上一次的commit中已经没有了误添加的文件,且Change-Id与修改前相同,只是一次 amend

解决方案二
1. 
git reset --mixed HEAD~1

-------- result ----------

On branch demo
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    package-lock.json

2.

git log

---------resut ---------
 上一次的commit已经被删除了

 

转载于:https://www.cnblogs.com/Sir-Lin/p/8243999.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值