在git中创建一个新的分支,而不会弄乱现有的分支

时间:2012-05-08 03:14:02

标签: git version-control

我有一个新的工作,我想成为主人。它与master无法合并或重组(尽管我手动移植了这个功能)。我意识到我可以很容易地做git branch -D master; git checkout new-master; git checkout -b master,但我不想搞砸任何叉子。

理想情况下,我想引入一个提交,将当前主服务器转换为可以从我的新分支应用我的更改的状态,这样任何拥有分支的人都可以git pull origin master并且无需事故即可

这可能吗?

1 个答案:

答案 0 :(得分:1)

如果您只是希望分支master引用其内容与分支branch相同的新提交,则master^和{{之间的差值1}}生成"更改所有内容以匹配分支master"的内容,这非常简单:

branch

请注意,$ git checkout branch $ git symbolic-ref HEAD refs/heads/master $ git status # you'll see what you're about to commit, here $ git commit # make that new commit 的分支历史记录会在此处引用master

如果您希望提交看起来像一个合并,将所有内容更改为branch看起来的方式,这似乎可以解决问题,但我还没有对其进行测试:

branch

现在$ git checkout master $ git merge --no-commit -s ours branch # this sets up the merge $ git rm -r . # this empties it out $ git checkout branch -- . # this adds everything from branch $ git status # again, just to see what you're about to commit $ git commit # and maybe edit the message to note that you took "branch" 是高手过去的样子,master^master^2的提示。