gpt4 book ai didi

git - 如何保存暂存区的当前状态?

转载 作者:IT王子 更新时间:2023-10-29 01:01:04 25 4
gpt4 key购买 nike

问题:
我在暂存区添加了一些文件。我想暂时保存这些信息。怎么办?

背景:
有时我会执行一些更大的重构。只有提交完整的结果才真正有意义。
在这次重构中,我也做了一些不相关的更改,我想独立提交。
例如,重构重命名了一个方法。不相关的更改修复了同一类中另一个方法的一个参数的拼写错误。
现在,假设当我意识到我忘记事先提交一个不相关的更改时,我已经将大部分文件添加到暂存区。
将文件添加到暂存区需要时间,因为我会检查每个文件以确保我确实只提交了我想提交的内容。因此,简单地将它们全部从临时区域中移除并不是解决方案。
我想做的是:

  1. 保存暂存区的当前状态
  2. 删除所有暂存文件
  3. 暂存不相关的变更
  4. 提交不相关的更改
  5. 将保存的状态重新应用到暂存区。

这有可能吗?

替代解决方案可能是多个暂存区,但我认为这不可能。

最佳答案

下面的命令链应该可以解决问题

git commit -m "temporary" # save current stage are as an actual commit
git commit unrelated_files -m "The other feature"
git stash # hide the rest
git rebase -i HEAD~2 # change the order of two last commits
git reset --soft HEAD^ # rollback the "temporary" commit and keep everything from that commit staged
git stash pop # and return back all initially unstaged stuff

关于git - 如何保存暂存区的当前状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15020237/

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