Git 리포지토리에 변경 사항을 저장하는 것은 파일을 저장하는 것만큼 간단하지 않습니다. Git 버전 제어 시스템은 변경 사항을 추적하는 보다 정교한 방법을 사용하므로 개발자는 리포지토리의 코드 변경 사항을 보다 세부적으로 제어할 수 있습니다.
git commit 명령은 프로젝트의 변경 사항을 저장소에 "저장"하는 한 단계입니다. git add 명령줄 함수는 먼저 커밋에 저장될 변경 사항의 레코드를 만드는 데 사용된 다음 git commit을 사용하여 이러한 변경 사항으로 커밋을 만듭니다. 마지막으로 git push는 커밋을 중앙 저장소에 푸시하는 데 사용됩니다.
이 자습서에서는 git commit 명령을 사용하여 Git으로 커밋을 생성하는 방법을 예제와 함께 탐색할 것입니다. 이 튜토리얼을 읽고 나면 git commit을 사용하여 커밋을 만드는 전문가가 될 것입니다.
Git 커밋
커밋은 Git 버전 관리 시스템의 중요한 부분입니다.
커밋에 대해 생각하는 한 가지 방법은 커밋이 프로젝트 기록의 특정 순간에 프로젝트의 스냅샷이라는 것입니다. 커밋이 생성되면 커밋이 생성될 때 프로젝트에 모든 파일과 디렉터리가 어떻게 표시되었는지에 대한 기록이 생성됩니다.
그런 다음 이 레코드를 나중에 읽어서 프로젝트가 특정 시점에 어떻게 보였고 누가 프로젝트의 어떤 파일을 변경했는지 확인할 수 있습니다. 실제로 커밋은 개발자가 시간이 지남에 따라 저장소가 어떻게 발전했는지에 대한 포괄적인 기록을 유지할 수 있도록 하기 때문에 Git의 중요한 기능입니다.
다른 버전 제어 시스템과 달리 커밋은 준비가 될 때까지 중앙 리포지토리에 영향을 미치지 않습니다. 즉, 리포지토리에 대한 변경 사항과 리포지토리의 기본 버전 사이의 간격 역할을 할 수 있습니다.
다시 말해, 많은 기여자가 리포지토리를 적극적으로 보고 있을 수 있는 리포지토리의 기본 버전을 직접 변경하는 대신 개발자는 로컬 리포지토리에서 코드를 커밋하고 나중에 주 리포지토리로 푸시할 수 있습니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
커밋 생성은 Git에서 변경 사항을 "저장"하는 마지막 단계에서 두 번째 단계입니다. 커밋을 만든 후 다음 단계는 git push를 사용하여 변경 사항을 중앙 저장소에 푸시하는 것입니다.
Git 커밋 사용 방법
git commit 명령은 모든 단계적 변경 사항을 로컬 저장소에 저장합니다.
"단계적 변경"은 git add 명령을 사용하여 추가된 준비 영역의 모든 파일을 나타냅니다. git add 명령에 대한 자세한 내용은 git add 초보자 가이드를 참조하세요.
git commit 명령을 사용하는 방법을 살펴보겠습니다.
git 커밋
git commit 명령의 가장 기본적인 사용법은 다음과 같습니다.
git commit
이 명령은 단계적 변경 사항을 로컬 리포지토리에 커밋합니다. 이 명령이 실행되면 커밋 메시지를 제출하라는 텍스트 편집기가 열립니다.
이 메시지는 커밋에서 저장소에 대한 변경 사항을 간략하게 설명해야 하는 곳입니다. 커밋 메시지를 작성한 후 텍스트 편집기를 닫으면 커밋이 생성됩니다.
git commit -a
all을 나타내는 -a 플래그를 사용하면 수정된 모든 파일을 커밋할 자동으로 준비할 수 있습니다.
저장소에 커밋한 CONTRIBUTORS.md라는 파일이 있다고 가정합니다. 이 파일을 변경하면 git commit -a 명령을 사용하여 변경 사항을 스테이징하고 저장소에 추가할 수 있습니다.
-a 플래그를 사용하면 변경된 모든 파일에서 "git add" 실행을 건너뛸 수 있습니다. 이는 -a 플래그가 수정된 모든 파일을 준비하도록 git에 지시하기 때문입니다. 그러나 - 플래그는 새 파일을 준비하지 않습니다. 따라서 "README.md"라는 파일을 생성하면 "git add"를 먼저 실행하지 않으면 스테이징되지 않습니다.
-a 플래그의 구문은 다음과 같습니다.
git commit -a
이 명령은 수정된 모든 파일을 자동으로 스테이징하여 저장소에 커밋합니다.
git 커밋 -m
아마도 git commit과 함께 사용되는 가장 일반적인 플래그는 -m 플래그일 것입니다. 메시지를 나타내는 -m 플래그는 커밋에 메시지를 추가하는 데 사용됩니다.
-m 플래그 없이 git commit 명령을 사용하면 앞에서 논의한 것처럼 메시지를 작성할 수 있는 텍스트 편집기가 열립니다. 그러나 -m 플래그를 사용하면 커밋 메시지를 직접 지정하여 텍스트 편집기 열기를 건너뛸 수 있습니다.
다음은 -m 플래그와 함께 git commit 명령을 사용하는 구문입니다.
git commit -m "feat: commit message"
이 명령에서 -m 플래그를 지정하여 커밋에 직접 커밋 메시지를 추가하고자 함을 나타냅니다(메시지를 추가할 때 텍스트 편집기를 열지 않고). 그런 다음 -m 플래그 다음에 따옴표로 커밋 메시지를 묶습니다. 이 경우 커밋 메시지는 "feat:커밋 메시지"입니다.
Git 커밋 예
git commit 명령을 사용하는 방법을 설명하기 위해 예제를 살펴보겠습니다.
프로젝트에서 작업 중이고 프로젝트에서 app.py 파일을 방금 편집했다고 가정합니다. 파일에 적용하려는 모든 변경 사항을 적용했으며 파일에 대한 커밋을 생성할 준비가 되었습니다.
첫 번째 단계는 git add를 사용하여 스테이징 영역에 파일을 추가하는 것입니다. 다음 코드를 사용하여 수행할 수 있습니다.
git add app.py
이제 app.py 파일이 준비 영역에 있습니다. 이는 준비가 되면 코드에 커밋할 수 있음을 의미합니다.
로컬 리포지토리에 커밋하려는 app.py 파일에 "runApp()"이라는 새 함수를 추가했습니다. 다음 코드를 사용하여 수행할 수 있습니다.
git commit -m "feat: Add runApp() function"
이 명령은 app.py 파일에 대한 변경 사항으로 커밋을 생성합니다. 커밋과 관련된 메시지는 "feat:Add runApp() function"이며 저장소에 대한 변경 사항을 간략하게 설명합니다.
Git 커밋 수정
git commit 명령을 사용하면 이전 커밋을 수정할 수도 있습니다. –amend 옵션을 사용하여 이전 커밋을 수정할 수 있습니다.
방금 커밋을 생성했고 커밋에 __init__.py 파일을 추가하는 것을 잊었다고 가정합니다. 다음 코드를 사용하여 파일이 포함되도록 초기 커밋을 수정할 수 있습니다.
git add __init__.py git commit --amend -m "feat: Add runApp() function and update init file"
이것은 __init__.py 파일을 포함하도록 이전 커밋을 수정하고 위 명령에서 지정한 새 커밋 메시지를 사용하도록 커밋을 수정합니다.
–amend 플래그는 소프트웨어 버전을 관리할 때 실수하기 쉽기 때문에 소프트웨어 개발자가 자주 사용합니다. 예를 들어 커밋에 파일을 준비하는 것을 잊거나 커밋 메시지를 작성할 때 오타를 만들거나 커밋 메시지에 코드에 대한 주요 변경 사항이 포함되어 있지 않을 수 있습니다.
따라서 소프트웨어를 개발할 때 –amend 플래그를 자주 사용할 것입니다.
좋은 커밋 메시지 작성
논의한 바와 같이 git 명령을 사용할 때 커밋 메시지를 작성하는 것은 필수입니다. 커밋 메시지는 기술적으로 원하는 모든 것을 포함할 수 있지만 커밋 메시지에 포함할 내용에 대해 생각하는 데 시간을 할애해야 합니다.
좋은 커밋 메시지를 작성하는 방법에 대한 규칙은 없지만 일관성 있고 설명적인 커밋 메시지를 작성하기 위해 개발자가 자주 사용하는 몇 가지 모범 사례가 있습니다.
다음은 git commit 메시지를 작성할 때 염두에 두어야 할 몇 가지 사항입니다.
- 커밋 메시지의 제목을 대문자로 표시
- 제목을 50자로 제한
- 커밋 본문을 사용하여 변경한 내용(이유보다) 설명
- 커밋 본문의 각 줄을 72자 미만으로 유지합니다.
이러한 규칙을 따르면 해석하기 쉽고 읽기 쉬운 커밋 메시지를 작성할 수 있습니다.
또한 커밋 메시지에서 다른 문제나 pull 요청을 참조할 수 있습니다. 예를 들어 커밋이 저장소의 문제 #22를 해결하는 경우 커밋 제목을 "수정:문제 #22 해결"로 지정하고 커밋 본문에 문제를 해결하기 위해 변경한 사항에 대한 설명을 포함할 수 있습니다.
결론
git commit 명령은 스테이징 영역에서 커밋으로 파일을 이동하는 데 사용됩니다. 이 명령은 스테이징 영역에 파일을 추가하는 데 사용되는 git add 이후에 실행됩니다. git commit은 Git 리포지토리에 대한 변경 사항의 스냅샷을 생성한 다음 개발자가 준비가 되면 기본 리포지토리로 푸시할 수 있습니다.
이 자습서에서는 git commit 명령을 사용하여 변경 사항을 Git 리포지토리에 커밋하는 방법에 대해 설명했습니다. 이제 전문가처럼 git commit 명령을 사용하는 데 필요한 지식을 갖추었습니다!