Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改GIT中的主分支_Git_Github_Branch_Master - Fatal编程技术网

更改GIT中的主分支

更改GIT中的主分支,git,github,branch,master,Git,Github,Branch,Master,我有一个“大师”分支和一个“新大师”分支。 “新主人”是一个需要迅速修复的错误的结果。 我知道这是一个非常糟糕的做法,但我现在就是这样。 一段时间以来,我一直在工作,好像“新主人”是我的主分支,从它开始分支等等。 我的问题是,是否有一种安全简便的方法使“主”分支与“主新”分支完全相同,这样我就可以开始使用它并从“主新”分支停止工作?按照以下步骤操作- 1) 从本地和远程删除master分支 2) 停留在masternew分支上并创建新分支git分支master git checkout mast

我有一个“大师”分支和一个“新大师”分支。 “新主人”是一个需要迅速修复的错误的结果。 我知道这是一个非常糟糕的做法,但我现在就是这样。 一段时间以来,我一直在工作,好像“新主人”是我的主分支,从它开始分支等等。
我的问题是,是否有一种安全简便的方法使“主”分支与“主新”分支完全相同,这样我就可以开始使用它并从“主新”分支停止工作?

按照以下步骤操作-

1) 从本地和远程删除
master
分支

2) 停留在
masternew
分支上并创建新分支
git分支master

git checkout master
git merge master_new
git branch -d master_new<
git push
3) 然后运行
git checkout master
这将把
master new
分支中的所有代码克隆到新创建的
master
分支


4) 现在,您可以安全地删除
master new
分支。

如果您没有推送任何一个分支,只需将
master
,然后将
master\u new
重命名为
master

git checkout master
git reset --hard master_new
git branch -d master_new
但是如果您已经推送了
master
,那么您可以将
master
合并到
master\u new
(保持
master\u new
不变)

然后合并
master\u new
返回
master

git checkout master
git merge master_new
git branch -d master_new<
git push
git签出主机
git合并主机\u新
吉特分行-d master_new<
git推送

第二种解决方案不会重写master的历史记录,也不会允许您根据上游回购协议与其他用户安全地共享其新内容。

您需要masterblaster,但他已经离开了bartertown。