git-log相关内容

格式字符串,用于`git log--Beauty`输出的条目之间的一致分隔

我正在尝试开发要传递给git log --pretty的格式字符串,以便每个日志条目都以完整的提交消息结束,但每个日志条目都由正好一个空行分隔。问题是一些完全提交消息以换行符结尾,而另一些则不是。 例如,假设我有两个提交,abc1234和def5678,但只有abc1234在完整提交消息的末尾包含换行符。在命令行上输出原始提交内容如下所示: [prompt]$ git cat-file c ..
发布时间:2022-04-04 09:00:15 其他开发

为什么管道会从 git log 中删除分支名称?

当我跑步时 >git log --oneline 我得到的输出看起来像这样 abcdef0 (head, branch, origin/branch) 注释0987654 不同的评论1234567(不同分支,起源/分支)第三条评论 但是一旦我将输出通过管道传输到任何东西(例如 > git log --oneline | cat),分支名称就消失了 abcdef0 注释0987654 不同 ..
发布时间:2022-01-15 10:39:14 其他开发

如何根据作者的时间戳制作 git log 顺序?

我使用了一个相当复杂的 git-log 命令,其中涉及 --date-order 来了解我的存储库的状态;但不幸的是, --date-order 似乎使用了 committer 日期,而不是 author 日期.这意味着每次我通过将主题分支重新定位到当前上游来更新主题分支时,我都会在主题分支中的相对提交的 git-log 中失去有用的时间顺序(也就是说,每个分支都变成一条长线,因为它的所有提交都重 ..
发布时间:2022-01-13 08:45:00 其他开发

在我的 repo 中,最长的哈希前缀必须多长才能防止任何重叠?

--abbrev-commit 标志可以与 git log 和 git rev-list 结合使用以显示部分前缀而不是提交对象的完整 40 个字符的 SHA-1 哈希值.根据 Pro Git book, 它默认使用七个字符,但如果需要保持 SHA-1 明确 [...] 此外,短 SHA 的长度至少为 4 个字符.仍然根据 Pro Git 的书, 通常,八到十个字符足以在一个项目中 ..
发布时间:2022-01-04 22:27:44 其他开发

git log --graph 中的线条颜色是什么意思?

我很好奇 git log --graph 中的线条颜色是什么意思? 是的,我问的是行 | / \ 连接提交 * 在左边缘控制台输出. 问题 #1 这些颜色有什么隐藏的含义吗? 或者它们是伪随机选择的? 问题 2 有时重叠(但不连续)的线具有相同的颜色. 例如,请参见上面屏幕截图中的紫色线条: 第一行从 a55 到 e1c 从3c1到043的第二行 是否可以要 ..
发布时间:2021-12-24 14:52:02 其他开发

如何查看一个用户提交的 git 日志?

使用 git log 时,如何按用户进行过滤,以便只看到来自该用户的提交? 解决方案 这适用于 git log 和 gitk - 查看历史记录的两种最常见方式. 您不需要使用全名: git log --author="Jon"; 将匹配“乔纳森·史密斯"所做的提交 git log --author=Jon 和 git log --author=Smith 也可以.如果您不需要 ..
发布时间:2021-12-06 09:26:54 其他开发

使用 Git 版本控制查看文件的更改历史记录

如何在 Git 中查看单个文件的更改历史记录,以及更改内容的完整详细信息? 我已经做到了: git log -- [文件名] 它显示了文件的提交历史,但我如何获得每个文件更改的内容? 我正在尝试从 Microsoft Visual SourceSafe 过渡,这曾经是一个简单的右键单击 → 显示历史. 解决方案 对于图形视图,我会使用 gitk: gitk [文件名] ..
发布时间:2021-12-06 09:09:24 其他开发

双点“.."有什么区别和三点“..."在 Git 提交范围内?

一些 Git 命令采用提交范围,一种有效的语法是用两个点 .. 分隔两个提交名称,而另一种语法使用三个点 .... 两者有什么区别? 解决方案 这取决于您使用的是 log 命令还是 diff 命令.在 log 案例中,它在 man git-rev-parse 文档中: 要从提交中排除可访问的提交,使用前缀 ^ 表示法.例如.^r1 r2 表示可从 r2 访问的提交,但排除可从 ..
发布时间:2021-12-06 09:03:55 其他开发

查看未推送的 Git 提交

如何查看我所做的尚未推送到远程存储库的任何本地提交?偶尔,git status 会打印出我的分支是 origin/master 之前的 X 次提交,但并非总是如此. 这是我安装 Git 的错误,还是我遗漏了什么? 解决方案 git log origin/master..HEAD 您也可以使用相同的语法查看差异 git diff origin/master..HEAD ..
发布时间:2021-12-06 09:00:19 其他开发

漂亮的 Git 分支图

我看过一些书籍和文章有一些非常漂亮的 Git 分支和提交图表.如何制作高质量的 Git 历史可打印图像? 解决方案 更新 2:我已将此答案的改进版本发布到 在 Git 中可视化分支拓扑 问题,因为它在那里更合适.该版本包括 lg3,它显示了作者和提交者的信息,所以你真的应该检查一下.出于历史原因(& 代表,我承认)留下这个答案,尽管我真的很想删除它. 我的两分钱:我通常在 ~/.gi ..
发布时间:2021-12-06 08:41:16 其他开发

避免自动合并git冲突,并警告如果在不同分支中修改了相同文件

通常,当我们将要素分支与master或任何其他分支合并时,如果在不同分支中但在不同行上修改了相同文件,则GIT会自动解决冲突.我们不希望这些合并自动发生,并且希望GIT会警告我们两个要合并的分支中已修改的公用文件列表. 例如在Master中,我们有以下文件test1.txt AAA 血脑屏障 从主文件创建功能分支(功能/test1)并更新文件test1.txt AAA BBB C ..
发布时间:2021-05-11 18:52:25 其他开发

在本地计算机上运行的git命令覆盖aws codecommit repo文件夹

本地计算机和AWS Codecommit存储库中有一个名为 profileimg 的文件夹名称.用户上载图像时,该文件夹将充满图像.但是,当我更改本地计算机存储库中的某些代码并将git push到远程存储库(AWS codecommit repo)中时,带有空数据的 profileimg 文件夹替代会消失,并且图像会消失.这是一个在AWS beantalk环境中托管的Laravel 8项目. ..
发布时间:2021-05-11 18:32:54 其他开发

删除并在另一个文件夹中重新创建后,保留文件的Git历史记录

我有以下情况: 在提交1中删除了一个名为src/GetData.cs的文件. 在提交5中创建了一个名为src/Get/GetDataNew.cs的文件. 将提交2中的文件重命名为提交7中的src/Get/GetData.cs. 1和3中的文件几乎相同,只是做了些微的更改,但是由于多次迭代,我最终创建了一个全新的文件并删除了旧文件.有什么办法可以在文件3中保存/移动文件1的git历史 ..
发布时间:2021-05-10 20:59:05 其他开发

如何从浅表克隆中获取完整的提交日志?

是否可以从作为浅层克隆的本地副本中获取提交日志历史记录,所以(-depth = 1) 我在jenkins构建作业中使用浅层克隆来获取代码并进行构建,但是由于我在使用浅层克隆,因此变更日志不完整.有办法解决吗? 解决方案 从理论上讲,您可以进行部分浅层的克隆,在其中克隆所有 commit 对象,但克隆 tree 和 blob 对象仅克隆​​到深度1: git clone --fil ..
发布时间:2021-05-10 20:57:38 其他开发

Git日志显示作者或提交消息的提交

我想使用git log(接受其他建议)列出所有提交的内容 由特定作者完成 或 在提交消息中有一个特定的单词 我知道如何分别搜索每个,但是我想要一个包含所有匹配提交的列表.最简单的方法是什么? 解决方案 您可以使用 git rev-list 生成 git log 应该显示的哈希ID,以及然后使用 git log --no-walk --stdin 读取这些ID,并根据 ..
发布时间:2021-05-10 20:56:03 其他开发

如何获取git log -p as json

我想运行 git log -p 并以JSON格式获取结果.我从漂亮格式文档中找不到解决方法,但是我可能会丢失一些东西. 我想到的理想结果将是: [{“提交":SHA,“作者":作者,“日期":DATE,"commit_message":COMMIT_MSG,"full_diff":FULL_DIFF}] 解决方案 由于diff没有格式,因此无法使用 git log 来实现.可以使用 ..
发布时间:2021-05-10 20:55:50 其他开发

如何使用git log pickaxe显示更改本身?

我想在git log中搜索特定的字符串,以查找在何处对其进行了修改/删除/添加. 我知道我可以使用 pickaxe (即 git log -S"Text" ) 当我运行此命令时,仅显示发生更改的提交的名称.我还尝试了 git log -G"Text" ,但没有区别. 当我尝试 git log -p -S"Text" 时,它显示了两个版本的文件之间的完全对比. 是否可以找到更 ..
发布时间:2021-05-10 20:55:29 其他开发

git log --cherry-pick A..B-我做错了什么?

为了找到分支 working 上的提交,这些提交没有合并/挑选到 master 上,但我正在运行 git log --format =“%h%aN%ai%f";--chery-pick --no-merger master..working 据了解这里. 但是如此处所述'm查找在 master 和 正在工作上的提交,只是由于选择樱桃而导致提交ID有所不同. 没有将 workin ..
发布时间:2021-05-10 20:49:21 其他开发