git合并后挂分支

时间:2019-02-25 12:54:10

标签: git gitlab

我是git的新手,最近开始使用git merge。第一个合并请求成功完成,因为我可以看到master分支显示了更改。

但是我对gitLab图有些困惑。enter image description here

第一个图是从功能分支(称为“ rdrop”)的角度来看的, 下一个图是主分支。 :enter image description here

有人可以解释为什么它显示一个悬挂的分支'rdrop'?,更重要的是,这个悬挂的分支到底是什么意思?

我确实了解合并的目的,也可以了解分支图和合并图。但是无法理解这里发生了什么。也没有合并冲突。

我想做的只是将'rdrop'合并为'master'。就这样。我不知道我是如何陷入困境的。

原始邮件的添加

$git log rdrop给出了这一点:

Main-iMac:nlp sm$ git log rdrop
commit d6283913c4c66b1f516b7eb54ddfee0e5c5ad482 (HEAD -> rdrop, rdrop/rdrop, main)
Author: Sanjay Mehrotra <xxxx@gmail.com>
Date:   Mon Feb 25 16:29:48 2019 +0530

    speeded up tokenisation.

commit fbf093d77021d0032b01fbaf86dfa7aa3429f735
Author: Sanjay Mehrotra <sanjmeh@gmail.com>
Date:   Mon Feb 25 15:59:31 2019 +0530

    first commit on rdrop. Small css change to test.

commit d10a58a1354be75b7ef92237039d16d52fc6f8bd (origin/master, master)
Author: rstudio <sanjmeh@gmail.com>
Date:   Mon Feb 25 14:34:38 2019 +0530

    app reverted from test mode title & color to normal title and color

更新”添加了以下内容的输出:git log --all --decorate --oneline --graph

Main-iMac:nlp sm$ git log --all --decorate --oneline --graph
*   2044225 (refs/stash) WIP on rdrop: d628391 speeded up tokenisation.
|\
| * 998ffdc index on rdrop: d628391 speeded up tokenisation.
|/
* d628391 (rdrop/rdrop, rdrop, main) speeded up tokenisation.
* fbf093d first commit on rdrop. Small css change to test.
| *   876bac8 (rdrop/master) Merge branch 'rdrop' into 'master'
| |\
|/ /
| * 79e469f (HEAD) Sample merge: deleted extra RDS files and one small CSS change
|/
* d10a58a (origin/master, master) app reverted from test mode title & color to normal title and color
* 1b7f430 removed stop button
*   5b54770 Merge branch 'master' of https://gitlab.com/sanjmeh/nlp
|\
| * 64feca3 Added message() in a function
| * f3040eb commit from aws server:  - still multi user clash occuring but now the frequent disconnection is gone.  - the replaceData(proxytable..) is replacing the DT of another user. - WIP
* |   66d3fa9 Merge branch 'master' of https://gitlab.com/sanjmeh/nlp
|\ \
| |/
| * b2e223d First commit from server. No code change. Just testing.
* | 46f6de0 Test mode css

2 个答案:

答案 0 :(得分:3)

这些是相同的图。它们的绘制方式略有不同。

一个看起来像这样(简化了一点):

o
|
o
| o
| |
| o
 \|
  o

另一个看起来像这样:

  o
  |
  o
o |
| |
o |
 \|
  o

它们刚刚被向左向右翻转,我绘制的最后一次提交被推了一下,以使其看起来不一样。

在两种情况下,标签rdrop指向主题行为speeded up tokenisation.的提交。标签master指向主题行为Merge branch rdrop into master.的提交。此合并提交是主题行以Sample merge: ...开头的提交,以及主题行以app reverted from ...开头的提交。

在两种情况下,最后一次提交是对rdrop的第三次提交。这意味着将rdrop合并到rdrop后,rdrop上的两个提交已添加到master中。

答案 1 :(得分:1)

查看执行了哪些命令以达到您所在的状态将很有帮助。但是,话虽如此,但您不会陷入混乱,出于多种原因,您可能已经做过很多事情才能达到您所处的状态。

一个可能是,当rdrop仅将“示例合并:删除了多余的RDS ...”推入其中时,您将rdrop推入了主机。合并后,如果您在rdrop分支上签出时提交并再次推送其他提交,则这些更改将像在图中一样显示。所以,如果您想将rdrop合并到master(那2次提交)中,而又要结帐到rdrop上,请执行“ git merge master”。

您可能还想看看progit book,它通过了一些示例并解释了如何像pro一样使用git:)