将主机重置为空状态

时间:2019-06-03 12:15:55

标签: ruby-on-rails git github reset master

我创建了一个新的Rails应用,并将代码直接从master(在存储库中的第一次提交)推送到Github。但是我犯了一个错误,我不想直接从master提交这个新的Rails应用,而是从master创建一个新分支,并从这个新分支推送新的Rails应用。

因此,我想:

  1. 在Github(远程)中删除master的提交,所以master是EMPTY
  2. 从master创建一个新分支,并将master中的先前提交添加到该新分支中。
  3. 将其推送到Github。

3 个答案:

答案 0 :(得分:2)

  

在Github(远程)中删除主服务器的提交,因此主服务器为空

您可以创建一个孤立分支-孤立分支是没有任何历史记录的分支

# Create "clean" branch
git checkout --orphan <name>

# remove all existing content if you wish
git clean -Xdf && git clean -xdf
  

从master创建一个新分支,并将master中的先前提交添加到该新分支中。

少数选项:

# Option 1 - Start your branch from the last desired commit
git checkout -b <name> <SHA-1> 

# Option 2 - Set your branch to the desired commit 
git reset <SHA-1> --hard

# Add the required commit on top of your branch
git cherry-pick <SHA-1>
  

将其推送到Github。

# force the update of the new branch
git push <origin> master -f

答案 1 :(得分:1)

请使用以下命令从母版创建一个新分支

git checkout -b branch_name

在结帐后进入您的新分支,并将其推送到Github。

现在转到master分支并进行remove the last提交并将其推送到Github

答案 2 :(得分:1)

您还可以对存储库尝试以下步骤:

  1. git checkout master:确保您在掌握中。
  2. git checkout -b my-fancy-new-branch:创建新的功能分支。
  3. git checkout master:切换回母版
  4. git reset --hard rootcommit:在您自己提交之前将master重置为状态。
  5. 可选,如果您有远程服务器,可以从以下位置进行拉拔:git pull --ff(如果由于拉拔不是快速进行而失败,则必须重新考虑rootcommit。它包含您的一些工作)< / li>

我试图在我的测试库中执行此操作,它似乎可以正常工作。

我从answer中获得了参考,也可以帮助找到其他方法。