[git] git 커밋하기 전에 파일에서 변경된 내용을 어떻게 알 수 있습니까?

한두 장의 티켓으로 작업하는 동안 물러 나면 내가 무엇을했는지, 무엇이 바뀌 었는지 등이 확실하지 않습니다.

git add 및 git commit 전에 주어진 파일에 대한 변경 사항을 볼 수있는 방법이 있습니까?



답변

찾고 있습니다 git diff. 정확한 상황에 따라 세 가지 유용한 방법이 있습니다.

# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]

디렉토리에서 재귀 적으로 작동하며 경로가 제공되지 않으면 모든 변경 사항이 표시됩니다.


답변

사용 git-diff:

git diff yourfile


답변

git diff filename


답변

나에게 git add -p모든 단계 화되지 않은 변경 사항 (각 파일의 차이점을 보여줍니다)을 검토하고 커밋과 함께해야 할 변경 사항을 선택하는 가장 유용한 방법입니다 (git 개발자가 생각한 것입니까?) 이들을 모두 준비한 다음을 사용 git commit하고 다음 커밋에 대해 반복하십시오. 그런 다음 각 커밋이 다양한 파일에서 발생하더라도 유용하거나 의미있는 변경 집합을 만들 수 있습니다. 또한 각 티켓 또는 유사한 활동에 대해 새 브랜치를 작성하고 checkout(아마도 git stash전환하기 전에 커밋하지 않으려는 경우 사용)을 사용하여 이들 사이를 전환하는 것이 좋습니다 .하지만 많은 빠른 변경을 수행하는 경우 어려움이 있습니다. 자주 병합하는 것을 잊지 마십시오.


답변

git diff

작업 트리와 인덱스 또는 트리 간 변경 사항, 인덱스와 트리 간 변경 사항, 두 트리 간 변경 사항 또는 디스크의 두 파일 간 변경 사항을 표시합니다.


답변

변경 사항을 커밋하고 있음을 기억하십시오파일이 아닌 .

이러한 이유로 git add -p변경 사항을 추가하는 데 사용하지 않는 경우는 매우 드 rare니다 .


답변

git diff <path>/filename

경로는 파일까지의 완전한 시스템 경로
일 수 있거나 프로젝트에있는 경우
경로를 사용 하여 수정 된 파일의 수정 된 파일 경로를 붙여 넣습니다 .git status