问题

如何在我的分支上保存多个更改的文件中的一个?

  最佳答案

更新:以下答案是git 2.13之前的git.对于git 2.13和之后,检查另一个答案下.


警告

正如评论中所指出的,这将所有内容都放入stash中,无论是分阶段的还是未分阶段的. –keep-index在完成stash后只剩下索引.当你后来弹出stash时,这可能会导致合并冲突.


这会积压你以前没有添加的所有东西,只需git add你想保留的东西,然后运行它。

 git stash --keep-index
 

例如,如果您想将旧提交拆分为多个更改集,您可以使用此程序:

  1. git rebase -i <last good commit>
  2. 标记一些更改为edit.
  3. git reset HEAD^
  4. git add <files you want to keep in this change>
  5. git stash --keep-index
  6. 根据需要修复东西.不要忘记git add任何更改.
  7. git commit
  8. git stash pop
  9. 重复,必要时从#5。
  10. git rebase --continue

  相同标签的其他问题

gitgit-stash