给定一段时间(例如一天,一周,一个月),是否可以列出此时修改或添加的所有文件?
我想用来git log显示与给定模式不匹配的所有提交.我知道我可以使用以下内容来显示与模式匹配的所有提交:
git log --grep=<pattern>
Run Code Online (Sandbox Code Playgroud)
如何反转匹配感?
我试图忽略消息中"碰到版本..."的提交.
编辑:我希望我的最终输出非常详细.例如git log --pretty --stat.所以输出git log --format=oneline对我来说不起作用.
我经常输入git log我真正想要的东西git log --decorate.我如何默认装饰?
我已经看到了很多答案的形式"制作一个别名lg然后键入git lg而不是git log".但是,我无法在任何地方找到如何更改git log本身的默认行为.alias log不起作用.
如何列出所有标签的标签名称,标签日期和标签消息?
似乎git将提交git log和标记通过的显示逻辑分离,git tag很难列出标记名称,标记的日期和标记消息.
我可以显示标签日期,名称和提交信息使用git log --tags --show-notes --simplify-by-decoration --pretty="format:%ai %d %s"
我检查了http://opensource.apple.com/source/Git/Git-26/src/git-htmldocs/pretty-formats.txt,但没有看到任何显示标记消息的选项.
我可以显示标签名和5号线的标记信息使用git tag -n5.
但要获得所有三个信息似乎需要超出我的能力的粗略脚本.
如何获取2014-01-01和2014-06-30之间对主分支所做的所有git提交的列表?
我知道git log会给我大致这种格式(对所有提交重复):
commit <hash>
author: <author name>
date: <date>
<comment>
Run Code Online (Sandbox Code Playgroud)
但是如何将其限制为选定日期和每个提交格式一行?
<hash> <author> <date>
<hash> <author> <date>
Run Code Online (Sandbox Code Playgroud) 这是我的情况:
但是在打字git checkout master命令后突然我的电脑遇到蓝屏死机并且发生意外的力量关闭.在重新启动计算机后,我检查了当前分支的状态,结果我将每个文件都标记为新文件.
现在,我陷入了困境,在git log命令之后我得到了错误
$ git log
fatal: your current branch appears to be broken
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题并恢复我的分支?
我正在使用Windows 7和git bash最新版本
编辑:我不想删除此分支.
......这两个命令之间的区别是什么?为什么要麻烦他们两个?
我正在为我的项目使用Git并尝试遵循最佳实践:
git merge --squash.这使我的开发分支保持清洁.这应该保留我们的历史,并使用gitk,我们可以看到所有提交的位置.但是,我希望能够只看到应用于主分支的提交.我试过了:
git log master
git show-branch
Run Code Online (Sandbox Code Playgroud)
这些都不显示只是在历史的主分支.有没有办法轻松做到这一点?
我想找到影响或涉及给定文件的所有合并提交.
对于背景,有人在合并时错误地解决了冲突,并且团队几天没有注意到它.在那时,许多其他不相关的合并已经被提交(我们中的一些人更喜欢不使用rebase,或者事情会更简单).我需要找到"坏"合并提交,因此可以检查它以确定还原的其他内容(当然,还要确定并惩罚有罪者).
场景是这样的:
$ echo First > a.txt && git add a.txt && git commit -m 'First commit'
$ git branch branch1
$ echo "Second: main-branch" >> a.txt && git commit -a -m 'Commit on master'
$ git tag a1
$ echo "Third: main" >> a.txt && git commit -a -m 'Other commit on master'
$ git checkout branch1
$ echo "Second: on branch1" >> a.txt && git commit -a -m 'Commit on branch'
$ git tag b1
Run Code Online (Sandbox Code Playgroud)
...所以现在master和branch1中的a.txt发生了冲突的变化.
$ …Run Code Online (Sandbox Code Playgroud) 有没有办法配置git log默认使用mailmap文件?无需指定格式(或一个别名).