有时,我需要(为了使我的开发更快)对代码中的某些内容进行编码。这可以是凭据,也可能只是一个允许我测试某些特性的黑客。出于许多原因,我从来不想把这段代码推到主代码库,甚至开发分支。一段时间以来,我一直在使用‘git-假设-unchaged’命令,但是在合并、重基等之后,可能会出现混乱,您可能正在推动一些您不想要的东西。有一个很酷的清洁的方法来实现这一点吗?也许是一些命令警告我,我必须记住在推送或类似的东西之前签出一些文件?有什么想法吗?
发布于 2017-04-19 14:26:25
在许多情况下(比如凭据),我建议您考虑如何避免将这些(甚至是临时的)文件放到源代码控制的文件中。(这可能最终也会在其他方面帮助你。)但在某些情况下,临时代码是最简单的工作流程,所以.
一种解决方案是使用pre-commit钩子。您可以用注释标记临时代码(类似于类似C语言的// xxxTEMPxxx ),然后拒绝在diff中找到标记的任何提交。参见.git/hooks/pre-commit.sample中的示例。
然后,您可以在工作、提交或做任何事情时将您的更改保持在适当的位置,但是如果您git add更改,则会提醒您它在那里,并且可以解除它。(如果您正在处理同一文件中的其他代码,则可以使用git add -p选择性地执行您打算提交的更改,同时避免使用临时代码。)
当然,您的临时更改仍然作为未跟踪的更改存在,这可能会妨碍某些操作;但在这种情况下,您可以将它们保存起来。至少,这比试着和assume-unchanged玩要好。
发布于 2017-04-19 14:24:34
如果您想查看您修改过的文件,可以使用git gui。这样,您就可以选择要推送的修改文件。
https://stackoverflow.com/questions/43498223
复制相似问题