我使用Git作为VCS和IntelliJ IDEA作为IDE.
我想在更改列表中保留我的本地更改(我将不会提交的更改),名称为"local",并在我的默认更改列表中进行其他更改(旨在提交).当我有本地更改和我打算在同一文件中提交的更改时,会发生此问题.在这种情况下,在执行提交之前,我需要检查这些文件中的所有更改并丢弃所有本地更改.
有没有办法在第一个更改列表中保留文件中的一部分更改而在第二个更改列表中保留另一部分?
实际上,现在有了IntelliJ对Git在2018.1中进行部分提交的新支持,这才有可能实现。您可能已经遇到了它,但是(至少)有两种方法可以使同一文件中的不同更改存在于不同的更改集中。
无论如何,要注意的重要一点是,位于不相关或无效的更改集中的更改将以非常微弱的颜色显示,而不是在查看dif时正常的绿色/蓝色/等突出显示。淡淡的突出显示是对您的工作副本的更改,但未上演“此”更改集。(此处可能使用了错误的术语)
保持本地更改但继续照常工作的两种方法如下:
只需将对文件的现有更改保留在非活动的更改集中,然后对该文件进行进一步的修改。默认行为是将任何新更改添加到活动更改集中。当您从活动更改集中提交此文件时,将不包括非活动更改。
如果您需要将现有更改分为两个不同的更改集,那么我发现这样做的方式会比较繁琐。希望其他人知道更好的方法...我所做的方法是搁置更改而不恢复它们,将更改移至非活动更改集,并还原或手动删除要保留在活动状态的更改变更集。此时,只需搁置更改并将其应用于活动更改集,或者不将其应用于特定更改集。我确信可以按相反的顺序进行操作(例如,保持文件处于活动状态,还原要保留的“非活动”更改,然后将其搁置为非活动更改集),或进行任何其他混合混搭。
如果您还没有弄清楚,希望对您有所帮助!