如何查找本地分支机构和远程分支机构之间所有提交的列表?

时间:2019-07-03 20:13:56

标签: git version-control git-pull git-log git-fetch

我正在尝试找出所有分支中远程存储库和本地存储库之间的提交列表。如何生成此提交列表?

我在运行git log命令的本地计算机上尝试了各种选项。它不能给我正确的结果。

我希望所有提交的输出。 4722ec2ac7b8a69ff1ed901a922cf3cd268033f8

1 个答案:

答案 0 :(得分:1)

编辑:

稍微弄些评论之后,我们到达了这个单行纸:

cookie := http.Cookie{
    Name: "jwt-token",
    Value: strToken, 
    Path: "/",
}

遍历您的本地分支名称(假设存在一个远程版本,每个版本具有相同的名称),并打印存在于远程或本地分支之一中的提交的哈希值,但不会同时出现在两个分支中


原始答案:

首先运行git branch --format='%(refname:short)' | xargs -I{} git log --pretty=format:"%H" origin/{}...{} 以更新您的远程跟踪分支,然后尝试以下操作:

git fetch

这将显示哪些提交不在同一时间在原始服务器/主服务器和主服务器中。

三点语法遍布git命令(也有双点语法);但是它们并不完全一致,如果您想更深入地研究,我建议使用this answer

git log --pretty=format:"%H" --all origin/master...master 也显示其他分支。

您可以通过点,顺序,--all标志甚至是--all运算符的方式来使其更符合自己的喜好。

奖金:

您可以设计一种策略,从而仍然使用迭代解决方案,而无需使用简单的文本文件将本地分支严格映射到远程分支,然后仅将其管道传输到xargs。