【问题标题】:Git Commit to New Branch [duplicate]Git提交到新分支[重复]
【发布时间】:2014-05-24 12:36:36
【问题描述】:

根据 git 文档,如果我想将更改保存到新分支,标准产品是

1) git branch new_branch (assuming the branch hasn't been created)
2) git checkout new_branch
3) write new code
4) commit, and it automatically gets put in the new branch

但是如果我按照这个顺序做事呢

1) write new code
2) git branch new_branch
3) ???

我现在如何将新代码保存到新分支?

【问题讨论】:

    标签: git version-control git-branch git-commit


    【解决方案1】:

    同样的。

    您可以在之后结帐(只要它是一个新的分支)。

    3) git checkout new_branch
    4) commit, and it automatically gets put in the new branch
    

    请注意,您也可以在一个命令中创建和签出:

    git checkout -b new_branch
    

    【讨论】:

    • checkout 命令在这里做什么?如果我检查分支 master,git 不仅将我的设置更改为在 master 分支中,它还将我使用的实际文件更改为 master 分支中的文件...如果我创建一个新分支,它会复制来自 master 分支的文件。如果我然后结帐到新分支,它不会将我使用的文件更改为新分支中的文件,这些文件是从主分支复制的吗?
    • @appleLover 你尝试他说了什么吗?在我看来,你对 git 的工作方式有很多错误的信念,这些信念阻碍了这里的发展。听听你被告知的内容。
    • 马特,我做到了,它奏效了。这不会改变我的问题。
    • @appleLover 如果您从实际分支创建一个分支,则两个分支是相同的,即工作区不会更改,您编辑的文件也不会更改。唯一改变的是指向当前分支的指针,它现在指向新分支,因此下一次提交将进入 new_branch。
    【解决方案2】:

    将更改提交到当前分支。 然后从当前分支创建一个新分支。

    $ git checkout -b new_branch currentbranch
    

    结帐回您的currentbranch

    $ git checkout currentbranch
    

    通过 1 次提交重置 currentbrach

    $ git reset HEAD~1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 2018-12-19
      • 2014-02-22
      • 2017-09-11
      • 2013-04-07
      相关资源
      最近更新 更多