Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从日期获取git上的活动分支_Git - Fatal编程技术网

从日期获取git上的活动分支

从日期获取git上的活动分支,git,Git,如果可能的话,我如何找到在特定日期和时间在git上签出的分支?我知道我可以在某个分支上的某个日期时间获得提交,但我需要知道它是否在该分支上您可能已经对--decoration选项git log感到满意了 如果需要更多的杠杆,可以添加一点分支--contains。我刚刚调制了这一系列: 细分: for sha in $(git rev-list --all -1 --since=2013-12-23 --until=2014-01-01) do git log --decorate -1

如果可能的话,我如何找到在特定日期和时间在git上签出的分支?我知道我可以在某个分支上的某个日期时间获得提交,但我需要知道它是否在该分支上

您可能已经对
--decoration
选项
git log
感到满意了

如果需要更多的杠杆,可以添加一点
分支--contains
。我刚刚调制了这一系列:

细分:

for sha in $(git rev-list --all -1 --since=2013-12-23 --until=2014-01-01)
do 
    git log --decorate -1 "$sha"
    git branch -a --contains "$sha"
done
它会打印出类似于

commit ebb4186a95fd210afdc31b490bbf6279a798d61a
Author: Seth Heeren <sgheeren@gmail.com>
Date:   Wed Dec 25 02:50:59 2013 +0100

    fixing compilation issue
* master
  remotes/bitbucket/HEAD -> bitbucket/master
  remotes/bitbucket/master

根据修订图和/或默认值的时髦程度,您可能还需要添加日期顺序。

给定本地存储库,您可以使用git reflog显示本地存储库上所有分支更改和提交的历史记录。通过这种方式,您可以跟踪您提交的分支

但是,如果其他人在本地存储库上进行了提交(并将其工作推送到其他存储库,如github),您就不可能再回答这个问题

git中的“分支”只是一个包含所有历史记录的单一提交,直到存储库的第一次提交。不同的分支机构分享其大部分历史是很常见的。因此,旧提交通常是所有分支的一部分

如果您只是想知道给定的提交是否包含在给定的分支中,那么可以使用
git branch--contains



/-a--a--a这在git本身是不可能的。你为什么想知道你到底想做什么?看来你对你的问题有误解。可以在任何时间从任何一个存储库同时签出多个分支。如果您发现在特定分支上的特定时间有一个提交,那么根据定义,提交是在该分支上的。。。
commit ebb4186a95fd210afdc31b490bbf6279a798d61a
Author: Seth Heeren <sgheeren@gmail.com>
Date:   Wed Dec 25 02:50:59 2013 +0100

    fixing compilation issue
* master
  remotes/bitbucket/HEAD -> bitbucket/master
  remotes/bitbucket/master
--all              select from all HEADs (following the parents)
--since/--until    this would be your date criteria
-1                 limit to a single commit
          /-a--a--a <-- branch1
x--x--x--x
          \-b--b--b <-- branch2