有时候对于已经完成的提交想要重新切分成多个commit。

例如,新建三个文件1 2 3,然后一起提交。

commit e8772b47bbd60c8fbfec2652da6501e5b6442fdc (HEAD -> master)
Author: xxx <xx.xx@xx.com>
Date:   Wed Apr 21 13:24:08 2021 +0800

    new file 1 2 3

现在我不像让他们一起提交了,我想单个文件提交。这时候用git reset --soft就可以做到。

git reset --soft HEAD^
# git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   1
        new file:   2
        new file:   3

现在文件又回到stage区域了,这时候只需单独提交文件即可。

当然,这种方法只能适用于文件粒度的切分,如果是文件内部的切分,那就只能手动打补丁了。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐