2014-09-03 5 views

답변

4

병합 커밋은 둘 이상의 부모가있는 커밋입니다.

Git에서이를 수행하기 위해, 예를 들어 병합 커밋이 아닌 HEAD가 도달 할 수있는 모든 커밋을 나열하는 다음 명령을 실행합니다. --no-mergesdocumented입니다

git log --no-merges HEAD 

은 "하지 마 인쇄가 둘 이상의 부모 커밋합니다. 이것이 바로 --max-부모 = 1과 동일합니다.".


하나는 다음 코드 조각으로 LibGit2Sharp과 같은 일을 수행 할 수 있습니다

using (var repo = new Repository(path)) 
{ 
    var allCommitsReachableByHead = repo.Commits; 

    const string RFC2822Format = "ddd dd MMM HH:mm:ss yyyy K"; 

    foreach (var c in allCommitsReachableByHead) 
    { 
     if (c.Parents.Count() > 1) 
     { 
      continue; 
     } 

     Console.WriteLine("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(); 
    } 
} 
+0

감사합니다 아주 많이! 내 질문에 대한 완벽한 대답. :) – juvchan

관련 문제