git add. 대 자식 커밋 -a


답변:


139

git commit -a거의 [*]는 git add -u && git commit.

git add .무시되지 않는 추적되지 않은 파일을 추가 하는 것과 동일하지 않으며, git add -u이미 추적 된 파일에 단계 변경 (삭제 포함) 만 추가 합니다.

[*] 저장소의 루트 디렉토리에 있지 않으면 미묘한 차이가 있습니다. git add -u현재 디렉토리 이하의 파일에 대한 업데이트를 스테이징하는 것은 추적 된 모든 파일에 대한 변경 사항을 스테이징하고 커밋 git add -u .하는 것과 동일 합니다.git commit -a


3
[*]의 동작은 일관성을 위해 git 2.0에서 변경됩니다.
user1284631

2
어느 방향으로? ie commit -a는 add -u와 같이되거나 -u는 commit -a와 같이됩니다.
Miles Rout 2013 년

5
@MilesRout : git add -u처럼 될 것입니다 git commit -a; git add -u .그것이 의미하는 바인지 명시 적으로 말해야 합니다.
CB Bailey


13

git commit -agit add알고있는 모든 파일을 자동으로 호출합니다 . git add커밋 할 파일을 선택하는 데 사용할 수 있습니다 . 자세한 정보는 문서를 참조하십시오 : 여기


11
이 알고있는 모든 파일은 그 가정으로 추가되지 않은, 특히 이후 나에게 매우 불분명하다
Nikana Reklawyks을

1
당신이 "그것을 알고있는 모든 파일"에 대한 설명을 추가 할 경우 @alternative, 아직이 답변이 ..... 더 잘 할 수
Pacerier

2
@Pacerier 동등git add -u
대안

2
@ Z.Khullah, "모든 (...)"은 "추적 된 파일"을 의미합니까?
TheFrost

1
@TheFrost 정확하게!
Z. Khullah

1

git commit -a 스위치를 commit 명령과 함께 사용하여 알려진 모든 파일 (즉, 이미 색인에 나열된 모든 파일)의 변경 사항을 자동으로 "추가"합니다.

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