我在Git本地提交了三个提交,但没有推送到GitHub.我想查看所有三个提交的更改/差异,如何查看所有差异?
我试过了: git log --branches --not --remotes
这向我展示了三个提交,但并非所有的差异/变化.
commit c08fbb72ae6a06e8b2ff3dbbb96fb555a43f4136
Author: Justin <justin@mydomain.com>
Date: Mon Sep 10 18:17:02 2012 -0700
Updated order of requires in Requires.php
commit 041fe19a48269a8aea2ccf90f53568893d4e0158
Author: Justin <justin@mydomain.com>
Date: Mon Sep 10 17:56:42 2012 -0700
Checking for app.config.php in Requires.php
commit 61c103a8a122bcde2311d081a8340ee1dd71997c
Author: Justin <justin@mydomain.com>
Date: Mon Sep 10 17:42:20 2012 -0700
Version bump 0.4.0. See CHANGELOG.md
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
我想生成每周GIT报告,在那里我可以看到每个开发人员在特定时间范围内提交和删除了多少代码.
目的是在特定时间范围内概述开发人员活动
如果我可以将这些信息导出到csv中会很棒
[some-script/command] > weekly-git-log.csv
Run Code Online (Sandbox Code Playgroud) 说我有一个有多个banches的回购.
是否有可能得到的使用通常的混帐富某些特定的日期/时间的回购快照?(我们目前每天都有代码转储,我正在考虑删除它的方法)
(假设没有分支被永久删除,并且git的承诺历史尚未玩过)
编辑:可以进行临时分支合并.
我只是使用Git Gui从GitHub克隆一个本地仓库,然后我检查了一个分支.我现在想要看到相当于做一个git log -50,但似乎无法在菜单选项或主屏幕上找到任何内容:

如何查看最后50个更改的提交历史记录/数据?
使用时git log,我可以提供--since=<date>限制日志以使其提交的日期晚于特定日期的功能。
有了git branch -r,我得到了所有的远程分支。
如何获得比给定日期还年轻的分支列表,即所有包含比我感兴趣的日期新的提交的分支?
或者,如果很难或不可能,仅考虑分支机构提示的日期就足够了。
使用此命令:
git log --all -n30 --graph --abbrev-commit --decorate \
--date=relative --format=format:'%h - (%ar) %s - %an%d'
Run Code Online (Sandbox Code Playgroud)
我将得到一棵美妙的树,这正是我正在寻找的,除了HEAD并不总是在顶部.
如果我删除该--all选项,我也将丢失所有显示的分支.
如何将HEAD保持在顶部并仍然可以看到最后30个元素可见的完整树?
换句话说,我得到的是
* d4b7d5a - (foo)
* * 44f53e2 - (HEAD)
|/
* 4587f32 - (bar)
Run Code Online (Sandbox Code Playgroud)
而我想得到的是:
* 44f53e2 - (HEAD) <- HEAD on the top
| * d4b7d5a - (foo)
|/
* 4587f32 - (bar)
Run Code Online (Sandbox Code Playgroud) 任务编号= JIRA问题编号=****(例如:7600)
假设我有一个提交列表,其中包含以下消息:
PRJ-7600 - first message
PRJ-8283 - second message
PRJ-8283 - third message
PRJ-1001 - fourth message
PRJ-8283 - fifth message
PRJ-7600 - sixth message
Run Code Online (Sandbox Code Playgroud)
第一个用于最早的提交.
通缉输出:
1001
7600
8283
Run Code Online (Sandbox Code Playgroud)
我使用以下命令列出了我的提交:
git log --author="First Last" --oneline --grep=PRJ --pretty=format:"%s" | sort
Run Code Online (Sandbox Code Playgroud)
哪里
--grep=PRJ指定忽略自动生成的注释(" 合并分支... ")(替代--no-merges)--pretty=format:"%s" 仅显示消息(删除哈希)实际产量:
PRJ-1001 - fourth message
PRJ-7600 - first message
PRJ-7600 - sixth message
PRJ-8283 - fifth message
PRJ-8283 - second message
PRJ-8283 - third …Run Code Online (Sandbox Code Playgroud) 鉴于历史
X-Y <- feature
/
A-B-C-D-E <- master
Run Code Online (Sandbox Code Playgroud)
我想得到一个给定提交的后代.一个解决方案似乎是:
git log --all --ancestry-path <ref>^!
Run Code Online (Sandbox Code Playgroud)
但是,这种行为有点奇怪:
<rev>是C时,结果是CDEXY<rev>是D或X,结果是DEXY(奇怪!)<rev>是E时,结果是E我的理解是命令并没有让所有的孩子都得到<rev>; 相反,它获得父(-ref)的所有孩子.我对吗?
这是不直观的,容易出错,坦率地说,令人恼火.我应该如何运行命令,以便将日志限制为给定提交的后代.
我有一个Travis-CI脚本,用于检查拉取请求的提交消息.GitHub为它提供了一系列提交,它用于git log --format=online "<lastref>..<firstref>"构建要检查的SHA列表.
这在大多数情况下都很有用,但偶尔会发生这种情况:
我的拉取请求(将分支2.2合并到2.x,多次提交)在Travis上生成此命令:
git log --format=oneline b5d12909dacd80d21c4e4f4ca6d5683d6e547f9e..b349be9418371c1f694dabeccbce0e946fde3a0a
Run Code Online (Sandbox Code Playgroud)
在本地,这可以按预期工作.我得到了PR的提交.但是,在Travis上,b5d129提交没有出现,因此它会将每次提交转储回项目的开头.
这里发生了什么?
更新:我做了另一个合并PR,这次是Travis的默认git clone深度为50,但也不包括2.x上的新提交.无论如何,这个新PR的构建工作正常.我还是难过.克隆深度不应该有任何影响,因为如果没有必要的提交,结账会失败.
当我调用以下命令时:
git log --format=format:"%C(yellow)%h %C(blue)%s %C(green)%ad %C(reset)%an%n%n%-b"
Run Code Online (Sandbox Code Playgroud)
我得到的输出看起来像这样:
我希望提交主体变暗,所以我尝试%C(dim)在格式字符串的末尾插入指令.但是,似乎没有一个插入位置可以实现我的目标:
%C(dim)在换行符之后和(条件换行 - chomping)%-b命令之前插入正确应用调光效果,但会打破条件换行符:
git log --format=format:"%C(yellow)%h %C(blue)%s %C(green)%ad %C(reset)%an%n%n%C(dim)%-b"
Run Code Online (Sandbox Code Playgroud)
%C(dim)在换行符和(条件换行符 - chomping)%-b命令之前插入正确保留条件换行符,但无法应用调光效果(即原始输出没有变化):
git log --format=format:"%C(yellow)%h %C(blue)%s %C(green)%ad %C(reset)%an%C(dim)%n%n%-b"
Run Code Online (Sandbox Code Playgroud)
另外,我无法将'chomp'运算符移动-到color命令,因为它总是看起来"评估"为非空字符串(因此,新行不会被限制).
有没有办法实现我的目标?
git ×10
git-log ×10
git-bash ×1
git-branch ×1
git-checkout ×1
git-commit ×1
git-diff ×1
git-gui ×1
pull-request ×1
report ×1
travis-ci ×1