此列表命令的含义是否与其他命令列表/ --rebase标志

时间:2019-04-09 08:33:59

标签: git git-flow

这是命令列表:

git checkout dev
git pull origin dev
git checkout 1234-bug-login
git rebase dev
git push -f origin 1234-bug-login

执行相同的操作,但操作更短

git pull origin dev --rebase 
git push origin 1234-bug-login

考虑到我总是使我的dev分支保持最新状态,开始处理任何类型的问题

我们公司使用更简单的github流程:

  • 我们只有devmaster
  • 开发人员应该创建一个新分支,开始在任何地方工作
  • 完成工作后,开发人员必须拉origin/dev,然后将其与他一直在其中工作的本地dev分支合并
  • 解决所有冲突后,应将分支推送到远程存储库
  • origin/dev合并请求

2 个答案:

答案 0 :(得分:1)

不,它们不是等效的,只是在次要细节上。

首先,第二个脚本缺少{index_name},因此无论当前分支是什么,都将把PUT拉基到当前分支(或更确切地说:将当前分支重新建立到远程dev)。第一个脚本将确保您将远程开发人员拉到本地开发人员。

第二个区别是,第一个脚本在没有--rebase的情况下执行了git checkout。如果您自己未在GIT中设置此选项,则dev会进行获取和合并(将开发者迁移到本地开发者)。第二个脚本中完全没有此步骤。

到目前为止,我认为你想拥有

git pull

作为第二个脚本的第一行。这样可以确保两个脚本都尝试对同一分支重新设置基准。

push命令中的第三项差异git pull很明显。考虑到两个脚本都有效地将“ 1234-bug-login”重新设置为“ origin / dev”,因此两个脚本中都需要它,或者都不是。

答案 1 :(得分:0)

备注:

  • 您的本地dev分支不会在该操作中更新。差异或其他检查命令可能不方便。

  • 您在上一次推送时没有力气,这在重新设置基准之后是必要的,您需要添加它:

    git push origin +1234-bug-login