我正在寻找一种方式来“隐藏”在Git中的几个文件进行了细微的变化,这样它们就不会在git的状态显示,直到不同的变化,对这些文件进行。
例如:我有一个java文件,其中提出的唯一的变化是去除未使用的进口(贡献者忘了运行在提交之前的组织进口)。 现在我已经删除了导入和变更(显然)在Git中显示出来。 因为我没有其他的变化,使该文件,我真的不喜欢在提交文件作为另一个(无关)变化的一部分,或者单独犯这种变化。 当然,我可以恢复更改,只有应用它,每当我将不得不更改该文件,但我可以“风险”忘记它。
难道这样的任务的命令存在? 它的工作有点像假设未发生变化的命令,但在没有永久的方式。
什么是解决这个如果没有这样的命令可用的正确方法?
提前致谢。
在我的使用情况(使用我的个人计算机上的编辑配置文件制定,与不变配置另一台机器上运行),这是对我的解决方案:
开始忽略对文件的更改:
git update-index --assume-unchanged path/to/file
再次保持跟踪:
git update-index --no-assume-unchanged path/to/file
保持你的变化是不是在一个单独的分支准备。 git rebase
此分支之上的主要历史需要新的变化。
无论是在进步发展,暂时的东西,连东西,是永远不会被包含在主体工程的历史 - 同样的过程同样适用。
如果/当分支的变化都准备好被包含在主要的历史; 在合并。如果没有,让他们在不同的分支,继续垫底。
(边注: git merge --no-ff
可使用以创建一个合并提交即使一个快进合并是可能的-这取决于你的项目的规则,这可能是最好)