相关疑难解决方法(0)

git显示合并提交

当我有一个合并提交并运行git show #commit时,它只显示提交日志,而不是实际更改的差异,如

commit c0f50178901e09a1237f7b9d9173ec5d1c4936c
Merge: ed234b ded051
Author: abc
Date:   Mon Nov 21 15:56:33 2016 -0800

    Merge branch 'abc'
Run Code Online (Sandbox Code Playgroud)

我理解真正的提交是在合并日志中,但我想保存输入,有没有办法在一个显示差异?

git merge show

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

Git承诺父母的命令

提交的父母的顺序是否有一些约定?

因为提交的父项之一应该是当前正在合并的当前分支上的提交,其余的是其他合并分支的先前提交.

我想确定当前分支的先前提交,我正在使用pygit它返回一个提交的父母列表,直觉上我认为父母的顺序可能有意义,但我没有发现明确提到这一点.


我编写了这个实用程序函数,使用第一个父提交来遍历分支:

def walk_branch(pygit_repository, branch_oid):
    """
    Walk a single branch
    """
    from pygit2 import GIT_SORT_TOPOLOGICAL
    previous_first_parent_oid = None
    for commit in pygit_repository.walk(branch_oid, GIT_SORT_TOPOLOGICAL):
        if previous_first_parent_oid is None or commit.oid == previous_first_parent_oid:
            previous_first_parent_oid = commit.parents[0].oid if len(commit.parents) else None
            yield commit
Run Code Online (Sandbox Code Playgroud)

git libgit2 pygit2

7
推荐指数
2
解决办法
1853
查看次数

标签 统计

git ×2

libgit2 ×1

merge ×1

pygit2 ×1

show ×1