Git推送提醒/助手?

标签 git github git-flow

有时我需要(为了让我的开发更快)在我的代码中对一些东西进行硬编码。这可能是凭据,或者可能只是一个允许我测试某些功能的 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/

相关文章:

git - Git 中的 Azure DevOps 图中的蓝点和灰点是什么意思

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

windows - 适用于 Windows 的 Git Bash 显示/预期文件路径带有正斜杠,没有驱动器冒号

swift - 如何使用 github api 为仓库加注星标

python - 使用 GitHub API 检查用户是否存在

python - GraphLab Create Launcher 安装报错

javascript - github仓库中lib目录的含义

git - 使用 Git 特性分支工作流,什么时候更新 master 分支?

git-flow - 有没有撤消 git flow init 的命令?

ios - 如何使用 gitflow 发布一个版本