git - 重新设置特定的 SHA1

标签 git

如果我有以下提交

38deab3 Bug Fix# 10
f33fb65 Bug Fix# 20
4fa0485 Bug Fix# 30

为什么git rebase -i f33fb65允许我编辑 38deab3 而不是 f33fb65?为什么我有
运行 git rebase -i 4fa0485编辑 f33fb65?

Source.

最佳答案

git rebase 似乎 rebase 到指定的提交(无论你是通过提交 SHA 还是例如 HEAD~4 )。

所以你应该使用提交相关符号来选择你知道并想要修改的提交! 🎉

$ git rebase -i <SHA>~1

这包括您指定的提交(作为您之前的提交)

语法 :
$ git rebase -i <SHA>~<number>

这将从最近的提交中选择,直到不包括 <number>比您选择的提交更多!

例子

使用如下示例提交历史记录:
  aaa    first commit
  bbb    add a function
  ccc    add terrible colour scheme
  ddd    another function
  eee    my most recent function

并且您想删除提交 ccc 中可怕的配色方案更改

您将输入并获得以下输出。
$ git rebase -i ccc~1

pick  ccc    add terrible colour scheme
pick  ddd    another function
pick  eee    my most recent function

关于git - 重新设置特定的 SHA1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585199/

相关文章:

node.js - 加速 Jenkins 构建

php - symfony2 : should bootstrap. php.cache 在 gitignore 中?

git - 在 vim 中的 git 提交消息中添加井号/井号作为第一个字符

git - 如何在 Git 中保存用户名和密码?

Git 改变 rebase

git - 如何设置 git config 以使用域的特定 key ?

git - 在哪里输入git命令?

git 子树错误 "fatal: refusing to merge unrelated histories"

git - 从推 pull 中排除文件

在 Github 中删除自定义域