Skip to content
nulltoken edited this page May 26, 2011 · 9 revisions

git-log

Show HEAD commit logs

Limiting the number of commits to show

Git

$ git log -15

LibGit2Sharp

using(varrepo=newRepository("path/to/your/repo")){varRFC2822Format="ddd dd MMM HH:mm:ss yyyy K";foreach(Commitcinrepo.Commits.Take(15)){Console.WriteLine(string.Format("commit {0}",c.Id));if(c.Parents.Count()>1){Console.WriteLine("Merge: {0}",string.Join(" ",c.Parents.Select(p =>p.Id.Sha.Substring(0,7)).ToArray()));}Console.WriteLine(string.Format("Author: {0} <{1}>",c.Author.Name,c.Author.Email));Console.WriteLine("Date: {0}",c.Author.When.ToString(RFC2822Format,CultureInfo.InvariantCulture));Console.WriteLine();Console.WriteLine(c.Message);Console.WriteLine();}}

Changing the order of the commits

Git

$ git log --topo-order --reverse

LibGit2Sharp

using(varrepo=newRepository("path/to/your/repo")){varfilter=newFilter{SortBy=GitSortOptions.Topological|GitSortOptions.Reverse};foreach(Commitcinrepo.Commits.QueryBy(filter)){Console.WriteLine(c.Id);// Of course the output can be prettified ;-)}}

Show only commits between two named commits

Git

$ git log master..development

LibGit2Sharp

using(varrepo=newRepository("path/to/your/repo")){varfilter=newFilter{Since=repo.Branches["master"],Until=repo.Branches["development"]};foreach(Commitcinrepo.Commits.QueryBy(filter)){Console.WriteLine(c.Id);// Of course the output can be prettified ;-)}}

Clone this wiki locally