I am trying to get the list of all commit ids after/since a certain commit id, is there a git command..?
git log --pretty=format:"%H" --since=2014-05-04 would print all the commit-ids since 2014-05-04, similarly is there a command that could print all the commit ids after a certain commit-id?
thanks Chris, yes I used the timestamp
m=`git show -s --format=%cD $COMMITID`
git log --pretty=format:"%H" --since="$m"
git log --pretty=format:"%H" 123456..
or more briefly
git rev-list 123456..
If you want that commit to be included as well, use 123456^..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Chris,
May be I didn't put my question properly.
Example:
123456daskkl9
56787skjskdk8
adkasjdka6788
dkajsdklja76678
jkajskldal677889
If I try "git log --pretty=
format
:
"%H"
adkasjdka6788"
The out put is
adkasjdka6788
dkajsdklja76678
jkajskldal677889
Instead, what I am looking for is a command that would get the below output using adkasjdka6788 commit id.
123456daskkl9
56787skjskdk8
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Consider if your commit history looks like this:
May 6 F == HEAD / \ May 5 / E / / \ May 4 / / D / / May 3 C / | / May 2 | B |/ May 1 A
So what's the difference between C and F/HEAD here? C only has A as an ancestor, but F also has B, D, and E as its ancestors (and C as well). So if I say git log C..F, it is going to tell me about what these differences are -- that is, it will tell me about B, D, E, and F.
If I say --since=2014-05-03, this is a very different question. It would have told me about the entire history, but I have excluded the things before May 3. This means it will tell me about C, D, E, and F.
Without the --since, how would git know that you want it to list D but don't want it to list B? Even if you followed a shortest path, what that would get you is directly from C to F, with D and E omitted as well. The date is the *only* reason that B didn't get listed by --since, and this is very misleading.
If this is really really really what you want, it amounts to getting the timestamp of the commit and then using --since with that timestamp. As far as I can tell, there is no intrinsic support for that. This is probably a good thing, because what that tells you is misleading.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You can use:
git log --pretty=format:"%H" commit-id..HEAD
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.