git commit -m 대 git commit -am


80

쉬운 것 같지만 이해가되지 않습니다. 내 응용 프로그램의 루트에 있습니다.

여기 내 작업 흐름이 있습니다.

git add .
git commit -m "added a new feature some files changed"
git push heroku master

이것은 일반적으로 작동합니다. 내 모든 변경 사항이 푸시됩니다.

하지만 때로는 변경 한 파일이 있지만 Heroku로 푸시하면 해당 파일에 대한 변경 사항이 없습니다 ... 그러나 대부분의 파일에는 변경 사항이 있습니다 ...

하지만 내가하면

git add .
git commit -am "added a new feature some files changed"
git push heroku master

모든 (모든 변경 사항)이 Heroku로 푸시됩니다.


잡히지 않은 파일에 대한 예를 들어 줄 수 있습니까? 삭제 한 파일입니까? 때때로 당신은 git add . --update그들을 잡기 위해해야 합니다.
helion3 2013

@BotskoNet-파일은 내 Rails 애플리케이션의 CSS 파일입니다. 어떤 이유로 해당 파일을 편집 할 때 변경 사항이 Heroku에 푸시되지 않습니다. 이것은 전에 일어 났고 나는 그 이유를 이해할 수 없습니다.
slindsey3000 2013

아마도 이것이 당신을 도울 것입니다. [다름] [1] [1] : stackoverflow.com/a/15419846/3962576
Reven

답변:


84

에서 워드 프로세서 :

git commit -a 커밋 전에 추적되고 수정 된 모든 파일을 자동으로 스테이징 워크 플로의 git add 단계가 너무 번거 롭다고 생각되면 Git에서 -a 옵션을 사용하여 해당 부분을 건너 뛸 수 있습니다. 이것은 기본적으로 Git에게 "추적 된"파일, 즉 마지막 커밋에 있고 수정 된 모든 파일에서 git add를 실행하도록 지시합니다. 이를 통해 원하는 경우 더 많은 Subversion 스타일 워크 플로를 수행 할 수 있습니다. 간단히 파일을 편집 한 다음 변경된 모든 것을 스냅 샷하고 싶을 때 git commit -a를 실행합니다. 그래도 Subversion과 마찬가지로 새 파일 추적을 시작하려면 git add를 실행해야합니다.

이 옵션을 -am사용하면 하나의 명령으로 커밋에 대한 메시지를 추가하고 생성 할 수 있습니다.


2
그렇다면 왜 git commit -am "x"작동하지만 .... git add . git commit -m "x"작동하지 않습니까?
slindsey3000 2013

13
일부 파일이 준비되지 않았기 때문입니다. 이것은 현재 추적되지 않는 삭제 / 추가 된 파일에서 발생합니다. 일반적으로 git add -u"추적되지 않은"파일을 준비하려면를 수행해야 합니다. -am당신을 위해 이것을 할 것입니다.
Davin Tryon 2013

3
@ slindsey3000 당신은 git add --all과 동일한 git add -A를 찾고있을 수 있습니다. 이는 git add와는 다릅니다.
Alexander Mills

20

하나의 파일 만 변경 한 경우 다음과 같이 할 수 있습니다.

git add "Your_file.txt"
git commit -m "added a new feature in a file"
git push heroku master

또는 여러 파일을 변경 한 경우 다음과 같이 할 수 있습니다.

git add .
git commit -m "some files changed"
git push heroku master

마찬가지로 다음 명령을 사용하여 모든 파일을 한 줄에 추가하고 커밋 할 수 있습니다.

git commit -am "added a new feature some files changed"
git push heroku master

5
git commit -am밀지 않기 때문에 언급 된 세 줄을 바꿀 수 없습니다.
WilomGfx

4
@WilomGfx 아니라고 생각합니다. 그가 말하고있는 것은 : 당신은 밀어 붙이지 않고 추가하고 커밋 할 수 있습니다 . 그래서 그가 말할 때 옳습니다 : 이 명령으로 한 줄에
robe007 19
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.