我开始在我的主分支上工作,以为我的任务会很简单。过了一段时间,我意识到这需要更多的工作,我想在一个新的分公司做所有这些工作。
我如何创建一个新的分支,并采取所有这些变化与我没有脏主人?
我开始在我的主分支上工作,以为我的任务会很简单。过了一段时间,我意识到这需要更多的工作,我想在一个新的分公司做所有这些工作。
我如何创建一个新的分支,并采取所有这些变化与我没有脏主人?
当前回答
因为你还没有提交任何文件,你可以将所有的更改保存到存储中,创建并切换到一个新的分支,然后将这些更改弹出到你的工作树中:
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
其他回答
我发现这里的大多数答案都过时了。没有必要使用新的switch命令进行隐藏和弹出操作。
git switch -c new_branch -m
将创建一个名为“new_branch”的新分支,切换到它,并将所有未提交的更改作为修改文件带来。然后,您可以继续进行更改或将它们提交给新的分支等等。
就像在这个问题中所说的:Git:从master: stash上的未分期/未提交的更改创建一个分支是不必要的。
只使用:
Git checkout -b feature/newbranch
任何未完成的工作都将移交给新的部门。
如果您尝试推送,您将收到以下消息
致命:当前分支特性/新分支没有上游分支。来 推送当前分支,并将远程设置为上游,使用 Git push——set-upstream origin feature/newbranch
只需按照建议远程创建分支:
Git push——set-upstream origin feature/newbranch
遵循以下步骤:
创建一个新分支: Git分支新增特性 签出新分支:(这不会重置你的工作) Git签出新特性 现在在这个新分支上投入你的工作: Git提交-s
使用上述步骤将使您原来的分支保持干净 你不需要做任何'git reset -hard'。
P.S. -s参数用于——signoff
向新分支添加新更改并推送到远程:
git branch branch/name
git checkout branch/name
git push origin branch/name
我经常忘记添加原始部分来推送,并感到困惑,为什么我在bitbucket中看不到新的分支/提交
因为你还没有提交任何文件,你可以将所有的更改保存到存储中,创建并切换到一个新的分支,然后将这些更改弹出到你的工作树中:
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