2011-05-09 3 views

답변

1
git push origin your_branch --verbose 

이렇게하면 출력에 해시 범위를 제공해야합니다. 지금 당신은 할 수 있습니다 :

git log sha1A..sha1B 

을 먼저 푸시에 --dry-run를 추가하려면이 실험 할 경우 - 푸시가 실제로 발생하지 않습니다.

하지만 밀어 넣기 전에, 당신은 또한 시도 할 수는 :

git log origin/your_branch..your_branch 

이 당신이 밀어 버린다 커밋을 보여줍니다.

git log origin/your_branch.. 

이 암시 지사 인 머리에 범위를 일치 : your_branch이 이미 선택되어 있으면, 당신은 단지 실행할 수 있습니다.

희망이 도움이됩니다.

+0

그러나 삽입하고 삭제 한 행 수는 표시되지 않습니다. – igorgue

+0

--stat를 log 명령에 추가하십시오. –

+1

Oh gangster! 감사! – igorgue

2

이러한 종류의 정보를 얻는 가장 기본적인 방법은 diffcore 기기에 전달할 수있는 --shortstat, --stat--numstat 옵션입니다. git-diffgit-log을 통해

--stat에 의해 주어진 것처럼 볼 수있는 것처럼 각 파일에 대한 예쁜 정보가 아닌 요약 행만을 제공하는 --shortstat 옵션을 원하는 것처럼 들릴 수 있습니다. 마지막 하나 인 --numstat은 동일한 파일 별 정보를보다 기계가 읽을 수있는 형식으로 제공합니다.

커밋 범위에 적용하려면 git diff --shortstat A B을 사용하십시오. 여기서 AB은 비교할 커밋입니다.

범위 내 각 개별 커밋에 대해 같은 정보를 얻으려면 모두 일괄 처리하지 말고 git log --shortstat A..B을 사용하십시오. 당신이 날짜를 기준으로이 작업을 수행하려면

, 당신은 몇 가지 옵션이 있습니다 :

  • 가 하나의 양식 <branch>@{<date>}를 사용하여 커밋 지정합니다. 그러나 이것이 주어진 날짜에 해당 지점의 위치를 ​​제공한다는 것을 알고 있어야합니다. 긴 수명의 로컬 브랜치라면 괜찮습니다. 그러나 그 날짜에 아직 존재하지 않거나, 가져올 때 커다란 도약으로 움직이는 원격 브랜치라면, 원하는 것이 아닐 수도 있습니다.

  • git log에 대한 --since--until 옵션을 사용하십시오. 이것은 전체 요약을 원한다면 두 단계를 사용해야 함을 의미합니다. 하나는 범위의 각 끝에 커밋을 파악하고 하나는 실제로 diff를 수행하는 것입니다.

커밋을 지정하는 방법에 대한 자세한 내용은 man gitrevisions을 참조하십시오.

관련 문제