Git 如何从某个分支创建不同的分支

Git 如何从某个分支创建不同的分支,git,Git,我刚刚创建了指向origin/master的默认存储库 我想创建一个发布和一个生产分支 我应该从origin/master本身创建git分支吗 e、 g.git分支发布和git分支生产 或 我应该从源代码/版本创建源代码/产品吗 git branch release git push origin release 及 首选的方法是什么遥控器/原点/。。。分支是远程跟踪分支。您不应该直接操作这些服务器,因为它们跟踪远程存储库的分支。例如,当您执行git fetch时,它们会得到更新 为了回答您的

我刚刚创建了指向origin/master的默认存储库 我想创建一个发布和一个生产分支

我应该从origin/master本身创建git分支吗

e、 g.git分支发布和git分支生产

我应该从源代码/版本创建源代码/产品吗

git branch release
git push origin release

首选的方法是什么

遥控器/原点/。。。分支是远程跟踪分支。您不应该直接操作这些服务器,因为它们跟踪远程存储库的分支。例如,当您执行git fetch时,它们会得到更新

为了回答您的问题,您应该从本地master创建发布和生产分支,因此我在下面假设当前分支是master:

git checkout -b release
<do some work>
git add .
git commit -m <commit message>
git push -u origin release
git checkout-b创建一个新分支并在一条指令中切换到它。git push-u将推送到远程和分支,并添加一个上游引用,因此当您将推送到该分支时,您不再需要定义它们

同样的工作流程也适用于生产分支机构,尽管master通常被认为是生产就绪的。。。分支是远程跟踪分支。您不应该直接操作这些服务器,因为它们跟踪远程存储库的分支。例如,当您执行git fetch时,它们会得到更新

为了回答您的问题,您应该从本地master创建发布和生产分支,因此我在下面假设当前分支是master:

git checkout -b release
<do some work>
git add .
git commit -m <commit message>
git push -u origin release
git checkout-b创建一个新分支并在一条指令中切换到它。git push-u将推送到远程和分支,并添加一个上游引用,因此当您将推送到该分支时,您不再需要定义它们


同样的工作流程也适用于生产部门,尽管master通常被认为是生产就绪的

我认为您混淆了这里的概念

从哪个分支创建新分支并不重要,最重要的一点是希望从哪个提交开始

git中的分支和标记只是一个指向特定提交的指针,该提交的历史记录在。区别在于标记通常在时间上保持静态,分支通常随着编码的进行而改变

因此,基本上,当您在历史上获得了第一个发布版本时,创建一个指向提交的发布分支。我也建议给它贴上标签


我不确定你想要实现什么,也许你真的不需要分支,标签就足够了。我建议您在做出关于存储库的这些决定之前,先阅读以更加熟悉分支和标记的概念。

我认为您在这里混淆了这些概念

从哪个分支创建新分支并不重要,最重要的一点是希望从哪个提交开始

git中的分支和标记只是一个指向特定提交的指针,该提交的历史记录在。区别在于标记通常在时间上保持静态,分支通常随着编码的进行而改变

因此,基本上,当您在历史上获得了第一个发布版本时,创建一个指向提交的发布分支。我也建议给它贴上标签


我不确定你想要实现什么,也许你真的不需要分支,标签就足够了。我建议您在做出关于存储库的这些决定之前,先阅读以更加熟悉分支和标记的概念。

在您的情况下,这并不重要。本地或远程分支引用只是:对提交的引用。做

git checkout master
git branch release
git branch production


完全等效,因为最终它们都只是对同一提交的引用。您可以通过使用每个分支名称运行并比较结果来验证这一点。Git不记录创建分支的来源,只知道它们之间最近的共同提交是什么。

在您的情况下,这并不重要。本地或远程分支引用只是:对提交的引用。做

git checkout master
git branch release
git branch production


完全等效,因为最终它们都只是对同一提交的引用。您可以通过使用每个分支名称运行并比较结果来验证这一点。Git没有记录创建分支的来源,只知道它们之间最近的共同提交是什么。

我不确定OP是否建议直接操作远程引用,只检查它们,例如Git签出源/主,这很好。我不确定OP是否建议直接操作远程引用,只检查它们,例如git checkout origin/master,这很好。