我有一个新的工作,我想成为主人。它与master无法合并或重组(尽管我手动移植了这个功能)。我意识到我可以很容易地做git branch -D master; git checkout new-master; git checkout -b master
,但我不想搞砸任何叉子。
理想情况下,我想引入一个提交,将当前主服务器转换为可以从我的新分支应用我的更改的状态,这样任何拥有分支的人都可以git pull origin master
并且无需事故即可
这可能吗?
答案 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
的提示。