2012-09-16 2 views
0

Git 저장소에 푸시 된 모든 커밋을 기록하고 싶습니다. 나는 로컬에서 체크 아웃 한 지점뿐만 아니라 모든 커밋에 관심이 있습니다. 또한 이미 삭제 된 가지에서 발생한 커밋을보고 싶습니다. 내가 필요한 것은 svn log (Subversion에서)과 비슷한 명령입니다. 전혀 가능합니까?모든 Git 커밋을 시간 순서대로 로그하는 방법은 무엇입니까?

+0

가능한 복제본 : http://stackoverflow.com/questions/746684/how-to-search-through-all-commits-in-the-repository – Jessedc

+0

'--walk-reflogs' 옵션은 도움이되지 않습니다. 나는 지역에 결석 한 지부에 관심이있다. – yegor256

답변

3

당신이 무엇을 요구하고 있는지 잘 모르겠지만, 전 세계에서 가능하지 않다고 생각합니다.

내 repo를 복제하고 일부 커밋 할 수 있습니다. 그러나 나는 그들과 당신과 나눌 의무가 없습니다. 그래서 당신이 알지 못할 커밋이 있습니다.

마찬가지로 커밋을 공유하면 10 개의 커밋을 로컬로 만들 수 있지만 커밋하기 전에 1 커밋으로 스쿼시 처리 할 수 ​​있습니다. 원래의 커밋 10 개가 존재했다는 것을 알 수 없습니다.

로컬 분기를 만들고 커밋을 한 다음 다시 병합하지 않고 해당 분기를 삭제할 수 있으며 git gc은 더 이상 도달 할 수 없으므로 해당 커밋을 완전히 파괴 할 수 있습니다.

다른 사람이 만든 적이 있지만 공유하지 않았거나 나중에 만들었으므로 나중에 참조한 유일한 분기를 삭제하여 가비지 수집을 가능하게했기 때문에 결코 알 수없는 커밋이 있습니다.

do 알아두면, gitk --all 당신이 찾고있는 것일 수도 있습니다. 로컬 또는 원격 모든 지점에서 도달 할 수있는 모든 커밋에 대한 그래픽보기를 보여줍니다. 마찬가지로 git log --all은 모든 지점에서 도달 할 수있는 모든 커밋에 대한 텍스트 요약을 보여줍니다.

원격 저장소에서 커밋을 찾고 싶다면 어떻게해야할지 모르겠다. git fetch은 기본적으로 분기에서 도달 할 수있는 커밋 만 가져옵니다. -t을 지정하면 태그에서 도달 할 수 있습니다. 하지만 난 don't think you can fetch the remote reflog.

관련 문제