`git push origin develop:feature`是一种创建分支的安全方式吗?

时间:2016-02-17 12:30:13

标签: git

我一直喜欢这种方式,而不是先使用git checkout -b new_branch在本地复制分支。这平均节省了一个命令,因为我通常希望在遥控器上安装这些分支。

你觉得这个方法有什么问题吗?

3 个答案:

答案 0 :(得分:1)

嗯,这是安全的,但是如果你想在那个分支上做任何工作,你仍然需要检查它,所以我不确定它是如何为你节省命令的。此外,在你开始工作之后,无论如何你都要把它推到服务器上,所以我不确定在创建时推动它是什么意思。

所有这一切,如果您想要检查并同时推送它,您可以在配置文件中创建一个别名,例如。

[alias]
  push-new-branch = !sh -c 'git push origin head:$1 && git checkout $1' -

然后git push-new-branch feature将在服务器上创建它并在本地检查它。

答案 1 :(得分:1)

  

你觉得这个方法有什么问题吗?

如果远程仓库中已经存在feature分支并且推送是快进的,那么命令将无错误地运行,但实际上它将更新现有分支而不是创建新分支。

如果你执行git checkout -b feature && git push,几乎同样的问题也适用,除非本地已经存在feature,否则创建新分支将失败,你不会推送任何东西。如果feature在本地不存在但远程存在,它仍会更新遥控器。

答案 2 :(得分:0)

不,这是正常的方式。 但我不知道为什么你需要先在远程创建分支? 因为我们必须先在当地发展。

但是,如果你想先在远程创建分支。只需在github或bitbucket上使用create new branch。 enter image description here