【问题标题】:Local branch after using git clone使用 git clone 后的本地分支
【发布时间】:2019-05-01 21:40:15
【问题描述】:

使用git clone后,我对如何使用branches有点误解。我在新的branch 和master branch 上有相同的代码。如何正确创建?

使用git branch 'branch name' 似乎创建了一个分支,但是在我添加一些新功能后,这些功能同时出现在新旧(主)分支上

使用命令git branch -a;我明白了:

new branch
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master

我期待使用新分支来添加新功能,然后将它们合并到 master 中。但是在我使用命令 git clone 之后,我似乎不太了解如何使用分支。

编辑:对不起,忘了提,我已经用过git checkout,而且我知道如何使用它。但是在我切换到新分支之后,添加一些新功能,然后切换回旧分支(在本例中为 master),我在该分支(master)上也有新添加的功能。

【问题讨论】:

  • 您可以使用git checkout -b your-new-branch-name 创建新分支。当您执行git branch new-branch-name 时,它会创建分支,但您不会切换到它。你可以按照这个命令git checkout new-branch-name 然后添加你的新代码。
  • 也许是时候翻开手册了? git-scm.com/book/en/v2/…
  • 我建议不要在分支名称中使用空格。它会让你未来的生活更加艰难。
  • 对不起,忘了说,我已经用过 git checkout,而且我知道怎么用。但是在我切换到新分支之后,添加一些新功能,然后切换回旧分支(在本例中为 master),我在 master 分支上也有新添加的功能。
  • 您需要在对工作树进行更改后进行 commit。请记住使用git add 将这些更改复制到索引中同一文件的隐藏副本之上,因为git commit 实际上提交的是索引中的内容,而不是工作树中的内容。

标签: git git-branch


【解决方案1】:

如果分支已经存在,你就这样做

git checkout [branch name]

如果分支尚不存在,您可以在一个命令中创建并切换到它

git checkout -b [branch name]

切换到您创建的分支后 - 您所做的任何更改都将反映在该分支上。

【讨论】:

    【解决方案2】:

    这是适合您的工作流程 -

    克隆仓库后,您将拥有本地 master 分支。您可以通过以下方式创建一个新分支 -

    git checkout -b new_branch
    

    这将创建一个新分支并检查它。在新分支中进行更改后,您必须将这些更改添加到 git 的暂存区域。暂存区是准备提交的更改所在的区域。您可以通过 -

    将所有更改添加到暂存区
    git add .
    

    或者,您可以选择性地将文件添加到 -

    git add filePath
    

    一旦有一些文件到暂存区,您就可以提交它们。您可以运行 git status 以查看所有文件暂存的内容。

    要提交暂存文件,您必须运行 -

    git commit -m "Commit Message"
    

    这会将文件提交到您的分支。现在,如果您切换到 master 分支,这些更改将不存在,要获得它们,您必须将您的分支与 master 合并或 rebase。

    【讨论】:

      猜你喜欢
      • 2016-07-11
      • 2020-10-10
      • 1970-01-01
      • 2019-11-24
      • 2018-08-08
      • 1970-01-01
      • 2014-07-05
      • 1970-01-01
      相关资源
      最近更新 更多