git-커밋하기 전에 현재 변경 사항의 차이


106

git 저장소에서 여러 파일을 변경했지만 아직 커밋하지 않았습니다.

을 호출하여 변경 사항 목록을 얻을 수 있습니다 git status. 그러나 파일 이름 외에도 변경 한 이나 내용 의 목록을 얻으려면 어떻게해야 합니까?

처음에는 git diff 사용에 대해 생각 했지만 이미 커밋 된 변경 사항을 비교하는 데에만 유용한 것 같습니다.

보통 그냥하는데이 meld .경우에는 ssh를 통해 외부 서버에 연결됩니다.

답변:


153

git diff기본적으로 작업 디렉토리색인 ( 다음 커밋을위한 스테이징 영역) 의 차이를 보여줍니다 .

이미 추가 한 경우 ( 연출 받는 사람 변경 사항을) 준비 영역 , git diff --staged작업을 수행합니다. 스테이징 영역 은에 의해 다음 커밋이 형성되는 데이터 git commit입니다.

Git 초보자를위한 PS Good reading (IMO) :


스테이징은 아직 추가되지 않은 파일에만 적용되지 않습니까? 캐시 된 플래그를 사용해야한다고 생각했습니다.
pbond 2012 년

4
@peterbond man git-diff말한다--staged is a synonym of --cached
미샤 Arefiev

2
@peterbond 기술적으로 스테이징 은 아직 커밋되지 않은 스테이징 영역에 추가 되었음을 의미 합니다. 나는 그것을 편집에서 명확히했다.
Mischa Arefiev 2012 년

1
@Mischa 문서 의 기본 동작은 말한다 git diff작업 디렉토리 사이의 차이를 계산하는 것이다 인덱스를 하지HEAD
악셀

매개 변수없이 git diff를 호출하는 것은 나에게 발생하지 않았습니다. 감사!
kikito

10

그런 경우에 내가 사용하는 것은 다음과 같습니다.

git diff HEAD *

이것은 마지막 커밋 이후의 변경 사항을 보여줍니다. 어떻게 든 더 빨리 작동하지만

git diff .

또는

git diff

이전에 git add편집 한 파일 의 변경 사항을 보려면 다음 staged플래그를 사용하십시오 .

git diff --staged
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.