git-push-origin-develope:feature是创建分支的安全方法吗?

git-push-origin-develope:feature是创建分支的安全方法吗?,git,Git,长期以来,我更喜欢这种方式,而不是首先使用git checkout-b new_branch在本地复制分支。这平均为我节省了一个命令,因为我通常希望远程上有这些分支 你看到这个方法有什么问题吗?好吧,它是安全的,但是如果你想在这个分支上做任何工作,你仍然必须检查它,所以我不确定它是如何为你保存命令的。而且,在你完成了这项工作之后,你无论如何都要把它推送到服务器上,所以我不确定在创建时把它推到底有什么意义 尽管如此,如果您想同时签出并推送它,您可以在配置文件中创建一个别名来执行此操作,例如 [al

长期以来,我更喜欢这种方式,而不是首先使用
git checkout-b new_branch
在本地复制分支。这平均为我节省了一个命令,因为我通常希望远程上有这些分支


你看到这个方法有什么问题吗?

好吧,它是安全的,但是如果你想在这个分支上做任何工作,你仍然必须检查它,所以我不确定它是如何为你保存命令的。而且,在你完成了这项工作之后,你无论如何都要把它推送到服务器上,所以我不确定在创建时把它推到底有什么意义

尽管如此,如果您想同时签出并推送它,您可以在配置文件中创建一个别名来执行此操作,例如

[alias]
  push-new-branch = !sh -c 'git push origin head:$1 && git checkout $1' -
然后,
git push new branch功能将在服务器上创建它,并在本地检出它

你认为这种方法有什么问题吗

如果
功能
分支已经存在于远程回购中,并且推送将是快进的,那么该命令将无误运行,但它实际上已经更新了现有分支,而不是创建新分支

如果您执行
git checkout-b功能和&git push
,几乎同样的问题也会出现,但如果
feature
在本地已经存在,那么创建新分支将失败,并且您不会推送任何东西。如果
功能在本地不存在,但在远程存在,它仍会更新远程。

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

但是,如果您想首先在远程服务器上创建分支。只需在github或bitbucket上使用createnewbranch。
谢谢你的回答JoaNehanWakyy,我没有考虑这种情况。我接受了另一个答案,因为他也提供了一个脚本,但我在信息方面投票给了你。最好的回复是因为我通常必须切换到我想要复制的分支,复制并签出创建的分支。我后来发现,您可以使用git checkout命令的一些附加参数来实现这一点。谢谢你的回答。