git - 启动新功能分支的正确工作流程

git - proper work flow for starting new feature branch

我需要为 github 上的项目创建新功能。我可以访问该帐户。我创建了一个名为 'myBranch' 的新 b运行ch。比,在航站楼 I 运行 git clone https://github.com/test/example.git。现在,如果我 运行 git b运行ch -a 我看到我在 master 上签出并且我新创建的 b运行ch 是红色的。

在 github 上创建新的 b运行ch 是否有误?因为现在它是一个远程 b运行ch,我真正想要的是在本地开始处理新功能。

我的问题有两个。我是否应该通过克隆远程仓库然后 运行ning git branch 'someNewBranch' 在本地创建 b运行ch。在那种情况下,我会简单地签出 b运行ch 并开始处理该项目并正常提交而不是推送?这会在 github 上创建一个新的远程 b运行ch,它是我的新本地 b运行ch 的副本吗?或者,鉴于我已经通过 github 的界面创建了一个远程 b运行ch,是否有一种通用的方法可以简单地开始处理那个 b运行ch?

我不认为将它作为远程分支是错误的。正确的做法是保留您在 github 上所做的历史记录。

针对你的问题。如果您首先克隆并创建了一个分支,那么它还没有远程等价物。但是在你尝试推送的那一刻,无论如何你都必须创建一个远程分支。 Git 永远不会自动创建远程分支(使用默认设置)。它将给出以下消息:

fatal: The current branch blob has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin <yourbranchname>

如果您对已经创建的远程分支执行此操作,则可以通过如上所述设置上游来连接分支。或者你拉出来结帐:

git checkout <branchname> 

开始分支并在其上工作的最简单方法是:

git branch <yourbranchname>
git checkout <yourbranchname>

然后当您进行一些提交时:

git push --set-upstream origin <yourbranchname>

但是为特性创建一个远程分支并没有错。这样其他开发人员也可以检查它。

如果您完成了分支的工作,您可以将其与 master(或您的开发分支)合并:

    git checkout develop
    git merge <branchname>

然后用特征名称标记它:

    git tag feature/<myfeaturename>

如果您有 gpg 密钥,您甚至可以在上面签名以声明您是所有者:

   git tag -s feature/myfeature 

然后您可以再次安全地删除它:

   git branch -d <mybranch>

然后你知道,当你合并你的功能到你的开发分支并防止你的分支列表增长

如果你在github上创建了分支,也就是你所说的远程分支。现在你只需要在本地获取它:

git fetch origin

此时您将拥有功能分支的本地副本。

通过以下方式开始处理它:

git checkout your-feature-branch

如果您先在本地创建分支,则执行此操作以在 github 上创建它并推送:

git push --set-upstream-to origin your-feature-branch