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.