git - 你如何避免人们忘记运行 'git push' ?

标签 git

在评估将我们基于 Subversion 的存储库迁移到 Git 的优缺点时,出现了一个有趣的问题。

尽管我们都非常喜欢 Git,但某些开发人员(或开发人员团队)可能会忘记将功能/错误修复推送到构建包的存储库中。

我相信其他软件开发团队已经提出了这个问题,我想知道你们是如何解决这个问题的。

最佳答案

我同意,理想情况下,您只需尝试提供大量提醒即可解决此问题。一些杂七杂八的想法:

  • 任何加强分布式版本控制思想的东西都将有助于人们更自然地思考这一点。例如,我喜欢这样一种工作流程,其中包括使用本地主题分支和修改/ rebase 提交,直到它们正是我想要的。如果你教如何做到这一点,很明显这些都是在你自己的领域内完成的。随着开发人员越来越意识到他们的存储库与中央存储库不同,记住推送会变得容易得多。

  • 如果你在你的 master 分支上(或者任何其他在 origin 上跟踪分支的分支),git-status 会给你提醒,比如“你的分支领先于 origin/master' 通过 1 次提交。”当你查看 master 时你也会看到这个。

  • 如果您真的想要,您可以编写一个提交后 Hook ,它只通知用户他们已经偏离原点多远。有很多方法可以解决这个问题,具体取决于您的工作流程 - 也许只是复制该状态消息,也许在当前分支上找到最旧的提交但不是起源,这样您就可以让他们知道它已经持续了多长时间......请注意,在存储库中包含 Hook 并非易事:.git/hooks 未被跟踪,因此您必须将目录或其中的 Hook 符号链接(symbolic link)到存储库中。不过,这可以通过安装脚本自动执行,所以还不错!

关于git - 你如何避免人们忘记运行 'git push' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578673/

相关文章:

git - 在 docker 容器中获取代理后面的 git

git - git bundle 应该如何与子模块一起工作?

git - Git 中的参数@{u} 是什么意思?

Android 金鱼分支

git - 在 git push 之前敲端口

Maven 发布插件中的 git-commit 问题

git - 重用 Git 子模块的子模块

linux - 在 git bash 中设置斜杠目录

git - 如何在 git URL 中转义密码的 `@`

android - 如何在android中读取.webarchive文件