【发布时间】:2021-12-03 22:43:59
【问题描述】:
假设我有两个文件“version 1.py”和“version 3.py”。我希望有一个介于“版本 2.py”之间的版本,因为例如,我做了两个更改(例如功能 A 和错误修复 1)并且我不想同时提交这两个更改,因为这不被认为是好的做法.我所做的是,我在屏幕的一侧打开了差异,并手动将我想要的更改复制到 Pycharm-IDE 中。那么这种情况下的工作流程是什么?应该有一个工具来做到这一点,不是吗?我没有找到一个。我会使用我找到的任何工具并且足够先进,但是我更喜欢在 Pycharm 或 Git 中执行此操作的方法。我找到了带有补丁文件的 emacs,但是 emacs 不获取原始文件,因此它不知道您何时尝试更改源文件。这导致我破坏了补丁,然后补丁不被 git 接受。
【问题讨论】:
-
git add -p是为这种情况设计的。我自己不太喜欢它,但它确实有效。请注意,Git 在提交时不使用您的 working tree 文件,而是使用文件的 index 副本;git add -p比较索引和工作树副本,从比较中产生差异,并允许您有选择地添加差异片段到索引副本。 -
你是说你有两个不同的文件吗?或者您对同一个文件进行了两次更改,并且您想将它们分成两个提交?如果是第二个,
git add -p. -
谢谢你们,
git add -p确实有效,而且确实很丑。我尝试了一个测试再现以及我从我的实际问题中获得的两个文件。它可以工作,但是每一秒都必须编辑,我仍然对上面必须填写的数字感到头疼(我什至试图留下它们,因为它们是 Git 不允许我这样做)