【问题标题】:Is there a git command that attempts a pull before pushing everytime?是否有一个 git 命令在每次推送之前尝试拉动?
【发布时间】:2014-02-14 21:06:03
【问题描述】:

当我自己处理 git 存储库时,没有理由在推送之前先拉取。

当我与其他人一起工作时,建议我在尝试推送之前先执行拉动——好吧,无论是拉动还是结帐,然后合并更改。
无论哪种方式,我都无法以正常方式推动,直到我与主人保持同步,所以每次推动之前先拉是一个好习惯(有人告诉我)。
90% 的时间我拉,它要么已经是最新的,要么是快进的。

是否有类似git push 的命令会首先自动执行pull,并且仅在存在实际合并冲突时才停止推送?

我想我可以创建一个别名,但我想先检查一下是否已经有内置命令。

【问题讨论】:

  • "所以每次推送前检查是个好习惯" --- 这样做没有技术原因。如果有什么事情 git 会拒绝你的push。即使在一个存储库中有超过 20 名开发人员的环境中工作,我也不会在 push 之前明确地 fetch

标签: git git-merge git-push git-pull git-alias


【解决方案1】:

我使用“done”别名来存储我未提交的更改、切换到 master、从远程拉取、将我当前的分支合并到 master、推送到远程、切换回我的分支并针对 master 进行 rebase。

【讨论】:

    【解决方案2】:

    没有什么可以完全按照您的方式进行,我认为这也会鼓励不良的工作流程习惯,因为您最终会推送未经测试的代码。仅仅因为某些东西干净地合并,它仍然可能被严重破坏。

    git push 如果你不是最新的遥控器,已经会拒绝。我通常会获取更改,查看它们,在它们之上重新调整我未推送的更改,然后继续。

    如果你发现你有太多的提交来做这件事(通常是每个人都在 master 之上敲击提交的情况),我建议切换到基于分支的工作流。这将隔离对其功能的更改,保持历史整洁,并为您提供一个集成步骤。

    【讨论】:

      【解决方案3】:

      建议我在尝试推送之前执行拉取

      那么就是推荐错了。只是推。推的行为询问是否可以推。如果有一个你不能推动的原因,你就不能推动。 然后你可以担心该怎么做。

      【讨论】:

        猜你喜欢
        • 2012-08-23
        • 2021-03-05
        • 2017-12-22
        • 2016-08-16
        • 2019-07-04
        • 1970-01-01
        • 2014-09-02
        • 1970-01-01
        • 2020-03-20
        相关资源
        最近更新 更多