删除某次 commit

一个分支有多次commit记录,其中中间一次提交有问题,我们想把中间那次删除怎么办呢? 可以使用 git rebase -i commitid 命令。
首先 git log 查看 提交历史
image.png

我要删除 fix: third modify test file,commit为9c82e014b9e748ed66893a708c1b0d170c23ca25 的提交。

  1. 首先找到此次提交之前的一次提交的commit c8272f35d53ca6a2ef6ad49e757f4b4ae3e37adc
  2. 执行如下命令

git rebase -i c8272f3
弹出如下界面:
image.png

有两种操作可以删除 c8272f3 的提交。
1: 将 pick 改为 drop
2: 直接将 pick c8272f35d53ca6a2ef6ad49e757f4b4ae3e37adc 这一行删除
我采取改为drop的方式, 操作路径为: 按 i --> pick 改为 drop --> 按 esc --> 按 :wq
操作之后会发现 c8272f3 的提交的修改被恢复了。
如果有冲突,或者其他,按照提示操作就好(比如执行以下 git rebase --continue)。
之后可以操作提交,如果提交不了,可以使用 git push -f.

查看/配置用户名和邮箱地址

用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。

  1. 查看用户名和邮箱地址
 git config user.name
 git config user.email
  1. 设置/修改用户名和邮箱地址
 git config --global user.name "username"
 git config --global user.name "username"

比如将名字修改为 xxx

git config --global user.name xxx 

owner相关

  1. 查看owner

npm owner ls

  1. 添加owner

npm add xxxx

参考资料

https://www.36nu.com/post/275


侯贝贝
329 声望27 粉丝