首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表在给定提交ID之前提交

列表在给定提交ID之前提交
EN

Stack Overflow用户
提问于 2019-04-05 14:04:56
回答 1查看 780关注 0票数 4

我的回购高级层次如下:

代码语言:javascript
复制
/dir1
/dir2
/dir3

我在HEAD上,git log --oneline --first-parent -5 -- dir1/给出了如下内容:

代码语言:javascript
复制
abcb COMM-25 Fix latest
ba0f COMM-17 Some stuff
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth

网络上有很多很酷的东西,比如git log --oneline --first-parent db7c.. -- dir1/

代码语言:javascript
复制
abcb COMM-25 Fix latest
ba0f COMM-17 Some stuff
cda8 New files

甚至git log --oneline --first-parent db7c..ba0f -- dir1/在两端都有限制

代码语言:javascript
复制
ba0f COMM-17 Some stuff
cda8 New files

但是,见鬼,,我找不到任何可以帮助输出所有提交到特定提交id的东西。我需要像git log --oneline --first-parent ..cda8 -- dir1/这样的东西

代码语言:javascript
复制
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth
<...>

只有cda8散列。,上面最新的命令当然是伪代码,在现实生活中没有提供任何输出(不幸的是:)。

那么,如何在不更改头的情况下列出特定目录中和给定提交id (包括在内)之前的所有提交?

我认为我可以接受修改dir1内容(只修改dir1,而不是接触dir2和dir3!),但是做git checkout cda8 dir1/git reset cda8 dir1/不会对后续的git log <...> -- dir1/输出产生任何影响。

帮帮忙,吉特古鲁!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-06 12:53:11

我认为你在这里太努力了,这就是为什么你看不到隐藏在眼前的解决方案。

您所要求的是标准日志行为当给出一个重构规范时。它将记录所有可访问的提交历史*从那一点开始:

代码语言:javascript
复制
git log --oneline --first-parent cda8 -- dir1/

(请注意,我做了您的最后一次尝试,省略"**..**")的应该输出:

代码语言:javascript
复制
cda8 New files
db7c COMM-9 Feature merge
e20a Init smth
...
<follows ALL the rest of commits history (but only those which have modified dir1/)>

* git中的“可达”应理解为“通过对给定提交的父母进行递归探索而达到”。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55537185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档