Git从当前签出的主数据库创建分支?
在一个服务器上有一个受git控制的文件夹,其中主分支被签出并且整个文件都被修改并且未被提交。 有没有办法让我将更改提交给单独的分支,以便我可以回到干净的版本?
即我想有效地撤消所有这些人的变化,但将它们存储在另一个机会中,因此如果该人想要更改他们可以切换到该分支。
(是的,我知道这不是git设计的工作方式,但这是我的情况!)任何想法都非常感谢。
首先移动到基于当前HEAD的不同分支,如下所示:
git checkout -b newbranch
提交所有更改(假设没有新添加的文件,否则git add
它们):
git commit -a
回到主分支:
git checkout master
之前未提交的更改将全部位于新分支上,并且主控仍处于没有这些更改的状态。
这种方法很有用:
git checkout -B <new_branch> <start point>
哪里:
<new_branch>
是你的新分支(例如my_branch
) <start point>
是您的起始分支(您的案例中的master
) -B
创建从<start point>
新分支(如果它已经存在),然后将其重置为(当分支已经存在时,它不会以-b
失败) -m
可以用于指定何时切换分支,这将在当前分支和工作树内容(对脚本有用)之间执行三向合并。 有关更多详细信息,请参阅: man git-checkout
。
您始终可以隐藏您的更改。
git stash
git checkout -b bravenewmaster
git stash apply
另外请记住,如果您提交到“错误”分支,您总是可以将分支移回,因为分支不过是指向提交的指针。
链接地址: http://www.djcxy.com/p/23589.html上一篇: Git create branch from current checked out master?
下一篇: moving committed (but not pushed) changes to a new branch