Git - origin / master分道扬with - 扔掉了被遗弃的提交

时间:2017-02-08 03:26:38

标签: git merge rebase

我一直在做我的项目,但在某些时候我发现有一件事停止了工作。当我的代码工作正常时,我需要查看代码的状态,所以我决定使用git checkout(因为我想检查一些东西)。所以我已经完成了

click()

然后我做了两个新的提交,希望它能创建新的HEAD。它没有,而是我得到了:

SampleModule

我已经尝试过变形和合并,但它所做的就是覆盖我的HEAD并改变了被放弃的"提交。

我想要做的就是让我新创建的提交成为真正的不受欢迎的HEAD。有可能吗?

3 个答案:

答案 0 :(得分:0)

当您结帐到specific commitadd新提交时,您需要结帐新分支&推到远程。将new-branchmaster合并后,您将在master分支中获得提交。

$ git checkout <commit-sha>

# add a commit
$ git add .
$ git commit -m 'message'

# checkout a new branch (say, feature)
$ git checkout -b feature

# sync with remote/master & push to remote/feature
$ git pull origin master
$ git push origin HEAD            # push to remote/feature

# merge 'feature' branch with master and push to remote/master
$ git checkout master
$ git pull origin feature         # merge 'feature' branch with 'master'
$ git push origin master

答案 1 :(得分:0)

此时你可以运行

git checkout -b branchname

在当前提交中创建分支并将HEAD设置为它。

如果branchname已被使用,-B将覆盖它。

答案 2 :(得分:-1)

从提交中分支出来。然后将该分支合并到旧分支中。