我目前正在提交 123456 和分支
foo
。我想向分支 bar
添加一个新的提交,其中包含 123456 的确切内容(未重新设置基础,只是从同一快照创建,因此差异将是任何内容)。
我可以像这样完成这个:
$ git checkout bar
$ git reset foo
$ git commit -am '...'
$ git checkout foo
我有两个问题:
foo
或需要更改我的工作树?很容易做
git checkout bar
git restore --worktree --staged --source=foo -- .
git commit -m "Here we make it just like 1234546 (or foo back when I created this commit)"
您可以使用
git commit -C 123456
将该提交的信息用于新提交但是这会产生误导,因为您正在创建单个提交并且您忽略了foo..bar
中的所有历史记录....这有意义吗在一次提交中做到这一点?好吧,也许它适合您的用例但是我不认为它适用于每个人。
当然,可以在不更改工作树的情况下完成......通过使用超级第二工作树。所以,请检查
git help worktree
。