[git] git commit -m 대 git commit -am

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

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

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

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


답변

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

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


답변