用当前的变化创buildGit分支

我开始在我的主分支上工作,认为我的任务很简单。 过了一段时间,我意识到这将需要更多的工作,我想在一个新的分支做所有这些工作。 我怎样才能创build一个新的分支,并与我一起进行所有这些变化,而不污染主人?

如果你还没有做任何提交,只有(1:分支)和(3:结账)就足够了。
或者,在一个命令: git checkout -b newBranch

正如在git reset手册页中提到的那样:

 $ git branch topic/wip # (1) $ git reset --hard HEAD~3 # (2) $ git checkout topic/wip # (3) 
  1. 你已经做了一些提交,但是意识到在“ master ”分支还为时过早。 你想继续在主题分支中打磨它们,所以创build当前HEADtopic/wip ”分支。
  2. 倒回master分支摆脱这三个提交。
  3. 切换到“ topic/wip ”分支并继续工作。

注意:由于git reset --hard命令的“破坏性”效果(它会重置索引和工作树,在<commit>之后对工作树中跟踪文件的任何更改都会被丢弃),所以我宁愿随:

 $ git reset --soft HEAD~3 # (2) 

,以确保我没有丢失任何私人文件(没有添加到索引)。
--soft选项不会触及索引文件,也不会触及工作树(但将所有模式重置为<commit> ,就像所有模式一样)。

就像在这个问题中所述: Git:在master上创build一个从未加标签/未授权更改的分支:隐藏是不必要的。

只要使用:

git checkout -b topic/newbranch

任何未落实的工作将被带到新的分支。

提交时您将收到以下消息

致命的:当前分支function/ NEWBRANCH没有上游分支。 要推送当前分支并将远程设置为上游,请使用

 git push --set-upstream origin feature/feature/NEWBRANCH 

只要按照build议远程创build分支:

git push --set-upstream origin feature/feature/NEWBRANCH

按着这些次序:

  1. 创build一个新的分支:

     git branch newfeature 
  2. 结帐新的分支:(这不会重置您的工作。)

     git checkout newfeature 
  3. 现在在这个新的分支上提交你的工作:

     git commit -s 

使用上述步骤将保持您的原始分支清洁,你不必做任何'混帐重置 – 硬'。

由于您尚未进行任何提交,因此可以将所有更改保存到存储中,创build并切换到新的分支,然后将这些更改弹回到工作树中:

 git stash # save local modifications to new stash git checkout -b topic/newbranch git stash pop # apply stash and remove it from the stash list 

要将新更改添加到新分支并推送到远程:

 git branch branch/name git checkout branch/name git push origin branch/name 

通常我忘了添加原始部分来推动和混淆为什么我没有看到新的分支/提交bitbucket