有时我需要(为了让我的开发更快)在我的代码中对一些东西进行硬编码。这可能是凭据,或者可能只是一个允许我测试某些功能的 hack。由于很多原因,我从来不想将这段代码推送到主代码库甚至开发分支。一段时间以来,我一直在使用“git-assume-unchaged”命令,但在 merge 、 rebase 等之后可能会混淆,你可能会推送一些你不想要的东西。有没有一种很酷的方法来实现这一目标?也许一些命令警告我必须记住在推送之前检查一些文件或类似的东西?有任何想法吗?
最佳答案
在许多情况下(例如凭据),我建议您考虑可以避免将这些(即使是暂时的)放入源代码控制文件中的方法。 (这可能最终也会以其他方式帮助您。)但在某些情况下,临时代码对您来说可能是最直接的工作流程,所以 ...
一种解决方案是使用pre-commit
Hook 。您可以用注释标记您的临时代码(可能类似于 C 类语言中的 //xxxTEMPxxx
),然后拒绝任何在 diff 中找到您的标记的提交。请参阅 .git/hooks/pre-commit.sample
中的示例。
然后,您可以在工作、提交或执行任何操作时将更改保留在原地,但是如果您 git add
更改,则会提醒您它就在那里并且可以取消暂存。 (如果您正在处理同一文件中的其他代码,您可以使用 git add -p
有选择地暂存您打算提交的更改,同时将临时代码保留在外面。)
当然,您的临时更改仍然作为未跟踪的更改存在,这可能会妨碍某些操作;但在那种情况下你可以把它们藏起来。至少比尝试使用 assume-unchanged
更好。
关于Git推送提醒/助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43498223/