让一个新分支成为git中的主分支,而不会弄乱现有的分支
我有一个新的行业,我想成为大师。它与master的差异太大,无法合并或重新设置基础(尽管我已经手动移植了该功能)。我意识到我可以轻松地做一个让一个新分支成为git中的主分支,而不会弄乱现有的分支,git,version-control,Git,Version Control,我有一个新的行业,我想成为大师。它与master的差异太大,无法合并或重新设置基础(尽管我已经手动移植了该功能)。我意识到我可以轻松地做一个git-branch-D master;git结帐新主人;git checkout-b master,但我不想弄坏任何叉子 理想情况下,我希望引入一个commit,将当前主机转换为一种状态,在这种状态下,我可以应用来自新分支的更改,这样任何使用fork的人都可以git拉取原始主机和git内容,而不会发生意外 这是可能的吗?如果您只希望branchmaster
git-branch-D master;git结帐新主人;git checkout-b master
,但我不想弄坏任何叉子
理想情况下,我希望引入一个commit,将当前主机转换为一种状态,在这种状态下,我可以应用来自新分支的更改,这样任何使用fork的人都可以git拉取原始主机和git内容,而不会发生意外
这是可能的吗?如果您只希望branchmaster
引用一个新的提交,其内容与branchbranch
相同,master^
和master
之间的增量是“更改所有内容以匹配branchbranch
”,这很容易:
$ 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过去的样子,master ^2
是branch
的提示,如果您只是想让branchmaster
引用一个新的提交,它的内容与branchbranch
相同,master^
和master
之间的增量为“更改所有内容以匹配branchbranch
”这非常简单:
$ 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过去的样子,master ^2
是分支的尖端