gpt4 book ai didi

git - 选择 git commit 的一部分

转载 作者:行者123 更新时间:2023-12-04 12:44:12 26 4
gpt4 key购买 nike

每次我想重写一个提交以只保留差异的一部分时,我都会经历这个(在我的脑海里,有些东西可能会出错):

git rebase -i COMMIT~1

然后选择 e为修改。
git reset HEAD~1  
git add -p # select the part I want
git checkout HEAD -- :/ # discard changes not selected
git stash
git reset COMMIT
git checkout HEAD~1 -- :/
git commit -u --amend
git stash pop
git commit --amend
git rebase --continue

显然,这是一个糟糕的工作流程。问题是重置允许我选择我想要的更改,但是通过将 HEAD 向后移动,我无法修改相关提交。

我试着做一个 git checkout HEAD~1 -- :/一旦我提交,我想修改并选择反向差异,但它只是令人困惑。

什么是更好的选择?

最佳答案

如果您对上一次提交进行软重置,那么您可以在不通过交互式 rebase 的情况下返工上次提交:

git reset head~1 --soft

这也将使将单个提交转换为多个较小的提交变得容易。

然而,这很可能只适用于返工最后一次提交。如果您为多次提交执行此操作,即 head~2 ,您将收集临时区域中过去两次提交的所有更改。这仍然很有用,但与您所描述的所需工作流程不同。

关于git - 选择 git commit 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49114830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com