合并后丢失git名称分支信息

时间:2018-04-25 20:02:10

标签: git merge

我正在重新制作我的github项目。我的问题是:一旦分支合并,我就失去了合并分支的名称(我使用gitk或git log --all --decorate --oneline --graph)。我在这里如何进行:

1 /首先,因为我曾经在master分支中工作很多提交不稳定的东西我更喜欢使用推荐的方式使用2个分支:1 /在不稳定的'dev'git分支中工作; 2 /一个始终稳定且准备好的产品git分支,名为“master”。所以我将'master'重命名为'dev'分支。我摧毁了以前所有关于大师的作品(我知道它很糟糕但是没关系,因为我独自工作):

git branch -m master dev 
git push origin :master
git push --set-upstream origin dev

2 /现在我想将'version''与'prototype'分支合并,并将'version'与'dev'分支合并。

git checkout -b master
git reset --hard <sha1-of-initial-commit>
git merge --no-ff origin/prototype       # version 0.1 # origin
git merge --no-ff <sha1-from-dev-branch> # version 0.2 # local
git push origin master

3 /使用gitk我看到我的'master'分支已合并两次:2个图形循环,名称为'master','origin / master','origin / proto'和'origin / dev'。

好的!我得到了:

*   b5819e5 (HEAD -> master, origin/master) Version 0.3
* \   e85a4e8 (origin/development) Version 0.2
* \ \   415bcef Version 0.1
* | | 9539fb1 (origin/proto) Update

4 /但我的问题是当再次克隆项目时(在临时目录中),使用gitk,我不再看到'dev'名称:看起来'dev'分支现在是同一个'master'的一部分”。我只看到两个带有'master'和'origin / master'和'origin / proto'的图形循环。好像'dev'分支被删除了。

*   b5819e5 (HEAD -> master, origin/master) Version 0.3
* \   e85a4e8 Version 0.2
* \ \   415bcef Version 0.1
* | | 9539fb1 (origin/proto) Update

合并的好方法是什么:本地还是远程?我不想松开分支名称信息'dev'!我认为从远程分支合并特殊的SHA1是不可能的,对吗?

注意:使用gitk我可以重置 - 从本地分支到给定的SHA1,但我不能从远程分支执行。如果我能做到,我想,合并不会丢失我的分支名称。

编辑:部分自我回答 这是因为我做了:

git merge --no-ff <sha1-from-dev-branch>

SHA1与HEAD中的SHA1不匹配。如果我进行最后一次提交,即使在克隆的回购中也会显示'origin / dev'。

0 个答案:

没有答案
相关问题