有时,我需要改变我的本地树,我从来不想推动。这些可能只是对运行测试的脚本的黑客攻击。虽然我在本地树中有此更改,但我可能会提交其他真正的更改。
问题是:
commit -a
现在我用提交描述提醒我不要推他们。然后,当我工作和积累真正的变化时,我将黑客重新定位到我的分支机构的头上。
有更好的方法来管理这样的变化吗?
发布于 2016-01-28 20:08:48
在git中,不可能忽略文件中的某些更改,而是跟踪文件中的其他更改。一般来说,这类问题应该通过应用程序的配置来解决。我的意思是,如果你有黑客,它们不应该被硬编码成那样(不知道你用的是哪种语言,所以这是一些伪代码):
someMethod() {
doWork();
dirtyHack();
doSomeOtherWork();
}
您最好有一个配置文件来描述是否应该在当前配置中执行hacks。因此,代码可以这样修改:
someMethod() {
doWork();
if (readConfig().isDirtyHacksEnabled()) {
dirtyHack();
}
doSomeOtherWork();
}
这种方法允许您在计算机和远程服务器(或任何您想要的地方)上有不同的配置文件。在git中,应该使用以下命令忽略这个特定的配置文件:
git update-index --skip-worktree <path_to_file>
因此,您可以在git中跟踪脚本文件的更改,而黑客只能在您的机器上启用。不要将--skip-worktree
与--assume-unchanged
混淆。当您设置最新的标志时,您承诺git不会做任何更改,这样git就可以跳过检查文件的索引,并在文件很大或文件系统缓慢时节省一些时间。
发布于 2016-01-28 19:30:56
使用--assume-unchanged
标记要(暂时)忽略的文件,以便提交:
git update-index --assume-unchanged <file>
然后,您可以用以下方式取消标记:
git update-index --no-assume-unchanged <file>
发布于 2016-01-28 19:32:10
使用: git存储它们,然后您可以进行真正的更改,提交,然后如果您愿意的话,可以取消隐藏黑客更改。
https://stackoverflow.com/questions/35070295
复制相似问题