2011-02-05 5 views
1

내 힘내 저장소에서 일부 파일을 변경했습니다. 나는 그들 모두를 무대에 올리고 싶다. 하지만 명령 사이에 차이점이 있습니까?위탁 커밋 명령

git add file1.php file2.php 

git add . 

두 번째 명령 단계는 파일 또는 프로젝트의 모든 파일 만 수정합니까? 또는이 명령들이 동일합니까?

답변

7

git add file1.php file2.php 파일 file1.phpfile2.php을 스테이지합니다.

git add . 디렉토리와 모든 하위 디렉토리 (커밋되지 않은 파일 포함)의 모든 파일을 스테이지합니다. (귀하의 에 의해 무시되지 않는 한)

두 가지 명령은 파일이 수정 된 경우에만 스테이징을 수행합니다.

+0

귀하의 마지막 문장에 해당 git commit -a를 사용할 수있는 모든 수정 된 파일의 커밋 빠른에 대한 또한 git add -u

를 사용 약간의 오해의 소지가 할 수있는 모든 수정 된 파일을 스테이지합니다. 수정되지 않은 파일을 준비하는 작업은 아무 작업도 아니라고 말하는 것이 정확합니다. 준비 영역에는 이미 암시 적으로 수정되지 않은 버전이 포함되어 있습니다. 또한 두 명령 모두 * new * 파일을 준비합니다. – Cascabel

+1

@ Jefromi, HEAD와 다음 커밋 사이의 * 차이 *가 아니라 다음 커밋의 전체 트리를 저장하는 것으로 인덱스를 생각하면 참입니다. 물론 그것을 생각하는 올바른 방법이지만, 그것은 신인 초심자에게는 분명하지 않을 수 있습니다. – MatrixFrog

1

file1.phpfile2.php이 변경되거나 실행되지 않는 유일한 파일 인 경우 두 개의 명령이 동일합니다. 변경되지 않은 파일은 어쨌든 스테이징 될 수 없기 때문입니다.

0

Sebastian P.이 설명한대로 이러한 명령은 동일하지 않습니다.

당신이, 당신이 git add -u ; git commmit

관련 문제