如何将已提交的提交合并到master

时间:2017-08-21 00:41:39

标签: git github gitlab

我尝试从master的某个提交创建新分支。我不记得我使用的命令,但我认为这个(但不确定)

git branch branchname <sha1-of-commit>

我有一堆提交的新分支。但我发现master分支丢失了在新分支中发现的所有提交。与丢失提交相关的更改也在主分支中丢失。

看起来我从主服务器分支了一堆提交到新分支。实际上我从来没有想过master branch丢失它的提交。如何将这些分离的提交恢复为master?

请参阅下面的问题说明:

Some random commits were detached to new branch

1 个答案:

答案 0 :(得分:1)

因此,提交4,7,8,10和13在新分支上,您希望它们在主分支中。

你无法进入分离的HEAD状态,使​​用上面的命令,你将需要做

git checkout <sha-1 of commit>

OR

git checkout branchname

所以最有可能你运行另一个搞乱的东西,使用

git reflog

试图找出出错的地方。

但是,如果你运行了正确的命令,你就不记得了。将该分支合并回master。

1 /签出提交13,我假设这是你在分离的HEAD状态下做出的最终提交。

git checkout <sha-1 of commit 13>

2 /给该分支命名,这意味着给这个分支命名,这样可以更方便地结账。如果你运行

git branch -a 

你会得到类似的东西

(detached from <sha-1 of commit 13)
master
*Other branches

重命名分支do;

git checkout -b <branch-name>

然后再次列出分支

<branch-name>
master
*Other branches

3 /现在合并很简单,只需结帐到您的主分支并合并

git checkout master
git merge <branch-name>

干杯!