相关疑难解决方法(0)

如何在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存储库之间的区别?

场景:我们有一个repo_a和repo_b.后者是作为repo_a的副本创建的.之后两个存储库都有并行开发.有没有办法列出这两个存储库当前版本的差异?

git git-diff

159
推荐指数
8
解决办法
9万
查看次数

`..`在git branch参考中意味着什么?

git log origin/master
git log origin/master..
Run Code Online (Sandbox Code Playgroud)

与上面的确切区别是什么?我试图理解..符号的确切含义.我认为这是一个范围,但在这种情况下,它做了一些不同的事情.

git

33
推荐指数
3
解决办法
3万
查看次数

我如何比较两个git存储库?

我有两个不同的CVS存储库导出到git.他们在某些方面有所不同,我正在调查原因.该开发线可以追溯到几年,并且有数万次提交.

在开发行的开头,每个提交的SHA1 ID都是相同的,告诉我git-cvsimport在读取cvsps和import的结果时非常一致.

但是在第一次提交和昨天之间的某个时间,SHA1 ID开始出现分歧.我想通过比较每个存储库中的提交ID列表并查看缺少的内容来找出它的位置.这样做有什么好的工具或技术吗?

git version-control

29
推荐指数
4
解决办法
3万
查看次数

无法想到git diff master..lab和git diff master ... lab的情况会有所不同

git diff master..lab 
Run Code Online (Sandbox Code Playgroud)

它会在两个分支的尖端之间产生差异.

git diff master...lab # notice triple dot
Run Code Online (Sandbox Code Playgroud)

它将从两个分支的共同祖先开始产生差异.

我无法想到双点的结果与三点的结果不同的任何情况.

git

4
推荐指数
1
解决办法
474
查看次数

标签 统计

git ×5

branch ×1

git-diff ×1

version-control ×1