相关疑难解决方法(0)

Git提交范围中双点".."和三点"..."之间有什么区别?

一些Git命令采用提交范围,一个有效语法是用两个点分隔两个提交名称..,另一个语法使用三个点....

两者有什么不同?

git git-diff git-log

380
推荐指数
4
解决办法
6万
查看次数

如何在Git中的分支上获取更改

自从当前分支分支以来,在分支上获取提交日志的最佳方法是什么?我目前的解决方案是:

git log $(git merge-base HEAD branch)..branch
Run Code Online (Sandbox Code Playgroud)

git-diff的文档表明它git diff A...B等同于git diff $(git-merge-base A B) B.另一方面,git-rev-parse的文档表明它r1...r2被定义为r1 r2 --not $(git merge-base --all r1 r2).

为什么这些不同?请注意,这git diff HEAD...branch给了我想要的差异,但相应的git log命令给了我更多的东西.

在图片中,假设:

         x---y---z---branch
        /
---a---b---c---d---e---HEAD

我想得到一个包含提交x,y,z的日志.

  • git diff HEAD...branch 给出了这些提交
  • 但是,git log HEAD...branch给出x,y,z,c,d,e.

git branch

257
推荐指数
7
解决办法
19万
查看次数

Git diff提交范围中双点".."和三点"..."之间有什么区别?

以下命令之间有什么区别?:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c
Run Code Online (Sandbox Code Playgroud)

diff手册谈到它:

比较分支机构

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
Run Code Online (Sandbox Code Playgroud)
  1. 主题提示与主分支之间的更改.
  2. 与上述相同.
  3. 自主题分支启动以来主分支上发生的更改.

但对我来说并不完全清楚.

git diff git-diff

175
推荐指数
4
解决办法
2万
查看次数

显示自主分支点以来git分支中的所有提交

我正在寻找一种方法来查看活动分支上的所有提交,因为分支点(包括它)和希望从master分支.

例如情况如:

A-B-C-D (master)
   \
    E-F (branch A)
Run Code Online (Sandbox Code Playgroud)

我希望得到提交F,E和B,而F是HEAD.

并为

A-B-C-D   (master)
   \
    E-F   (branch B)
       \
        G (branch C)
Run Code Online (Sandbox Code Playgroud)

如果G是当前HEAD,我想要提交G,F,E,B.使用--graph选项显示此信息也很棒.

现在我想出来了

git log master^..HEAD
Run Code Online (Sandbox Code Playgroud)

但它似乎显示太多信息(如来自其他分支机构的提交).谢谢你的帮助!

git version-control git-log

7
推荐指数
1
解决办法
886
查看次数

标签 统计

git ×4

git-diff ×2

git-log ×2

branch ×1

diff ×1

version-control ×1