是否有git命令在每次推送之前尝试拉?

时间:2014-01-24 02:01:55

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

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

当我与他人合作时,建议我在尝试推动之前执行拉动 - 好吧,拉动或结账,然后合并更改。
无论哪种方式,我都不能通过正常方式推动,直到我与主人达成最新状态,所以每次推动之前拉一个好习惯(所以我被告知)。
在我拉动的90%的时间里,它要么已经是最新的,要么是快进的。

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

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

3 个答案:

答案 0 :(得分:3)

  

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

然后建议错误。只是推。推动的行为询问是否有可能推动。如果有一个你无法推动的原因,你将无法推动。 然后你可以担心该怎么做。

答案 1 :(得分:2)

没有任何东西可以完全满足您和我认为它还会鼓励不良的工作流习惯,因为您最终会推送未经过测试的代码。只是因为某些事情融合得很干净,它仍然可能会被彻底打破。

如果您没有与遥控器保持同步,

git push已经拒绝了。我通常会获取更改,审核它们,在我们之上修改我未经修改的更改,然后继续。

如果你发现你有太多的提交要做(通常情况下每个人都在主人之上提交),我建议你改用基于分支的工作流程。这会隔离对其功能的更改,保持历史记录清洁,并为您提供单个集成步骤。

答案 2 :(得分:0)

我使用了一个“完成”别名,它隐藏了我未提交的更改,切换到master,从远程拉取,将我当前的分支合并到master,推送到远程,切换回我的分支并重新绑定master。