git - 我如何进行交互式 git 修改?

标签 git

在使用交互式补丁模式选择哪些部分时,如何撤消上次提交的部分内容? 当您在上次提交中不小心检查了太多行时,这会很有用,例如调试您的编辑器为您所做的打印语句或空格更改。

天真的做法是

git commit --amend --interactive --patch

但这似乎行不通。也就是说,它只会让您进入编辑器进行改写。

丑陋的做法是

git show HEAD~1:path/to/some/file > path/to-some/file
git add -up
git commit --amend

但这很烦人,因为它让你事先指定文件,并让你一个一个地重新添加所有补丁(而不是让你只取消添加一些零碎的东西)

最佳答案

怎么样

git reset -p HEAD~
git commit --amend --no-edit

第一个命令将允许您以交互方式取消暂存 block (选择 y 作为您想要从提交中退出的部分),然后提交修改会将其写入新的提交。

关于git - 我如何进行交互式 git 修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73154985/

相关文章:

git - 通过轮询 Jenkinsfile 中的多个 GIT 存储库来触发作业

git - 并行使用 cygwin-git 和 git for windows

git - 如何使用git将本地更改从一台电脑复制到另一台电脑

git - 如何排除除所有顶级点文件和子目录之外的所有内容?

git - git 手册部分的含义是什么?

c# - git中的值是什么意思?

git 无法压缩提交

git - 如何获取 TeamCity Build 触发器过滤器以构建功能分支而不是默认分支

git - 获取有关 SHA-1 提交对象的信息?

java - 将 .jar 文件添加到 git 存储库中