Git - 커밋 변경 사항

소개

안녕하세요, 야심찬 프로그래머 여러분! 오늘 우리는 Git에서 가장 기본적인 개념 중 하나인 변경 사항을 커밋하는 것에 대해 배울 것입니다. 여러분의 친절한 이웃 컴퓨터 과학 교사로서, 저는 이 필수 과정을 단계별로 안내해 드리겠습니다. 프로그래밍에 처음이라면 걱정하지 마세요 - 기본부터 시작해 점진적으로 이해를 높이겠습니다. 이 튜토리얼을 마치면, 프로처럼 변경 사항을 커밋할 수 있을 것입니다!

Git - Commit Changes

커밋이란?

어떻게 하면 하는 방법에 이전에, 커밋이 정확히 무엇인지 이해해 보겠습니다. Git에서 커밋은 프로젝트의 특정 시점에서 스냅샷을 찍는 것과 같습니다. 이는 귀하의 작업을 저장하고 코드베이스의 변경 사항을 추적하는 방법입니다. 비디오 게임에서 체크포인트를 만드는 것을 생각해 보세요 - 필요할 때 언제든지 그 포인트로 돌아갈 수 있습니다.

커밋의 중요성

커밋은 프로젝트의 역사를 구성하는 기본 단위입니다. 커밋을 통해 다음과 같은 작업을 수행할 수 있습니다:

  1. 시간이 지남에 따른 변경 사항 추적
  2. 효과적으로 다른 사람과 협력
  3. 잘못된 변경 사항이 발생했을 때 이전 버전으로 되돌리기
  4. 프로젝트의 진화 이해

이제 커밋이 왜 중요한지 알고 보았으니, 커밋하는 방법을 배워보겠습니다!

기본 Git 커밋 워크플로우

단계 1: 상태 확인

커밋하기 전에 항상 리포지토리의 상태를 확인하는 것이 좋습니다. 이는 변경된 파일, 추가된 파일, 삭제된 파일을 알려줍니다.

git status

다음과 같은 내용을 볼 수 있습니다:

On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified:   hello_world.py

no changes added to commit (use "git add" and/or "git commit -a")

이 출력 결과는 hello_world.py 파일이 수정되었지만 아직 커밋을 위한 스테이징이 되지 않았음을 알려줍니다.

단계 2: 변경 사항 스테이징

커밋하기 전에 우리는 변경 사항을 스테이징해야 합니다. 스테이징은 체크아웃하기 전에 상품을 쇼핑카트에 넣는 것과 같습니다.

모든 변경 사항을 스테이징하려면:

git add .

특정 파일을 스테이징하려면:

git add hello_world.py

스테이징 후 다시 git status를 실행하면 다음과 같이 보입니다:

On branch main
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

modified:   hello_world.py

단계 3: 변경 사항 커밋

이제 우리는 스테이징된 변경 사항을 커밋할 준비가 되었습니다!

git commit -m "Add hello world function"

-m 플래그는 커밋 메시지를 명령줄에서 직접 추가할 수 있게 합니다. 항상 명확하고 간결한 메시지를 작성하여 변경 사항을 설명하세요.

이제 git status를 실행하면 다음과 같이 보입니다:

On branch main
nothing to commit, working tree clean

축하합니다! 여러분은 첫 커밋을 성공적으로 완료했습니다!

고급 커밋 기술

커밋 수정

occasionally, you might forget to add a file or want to change your commit message. Instead of creating a new commit, you can amend the last one:

git commit --amend

This opens your default text editor where you can modify the commit message. If you want to add forgotten files:

git add forgotten_file.py
git commit --amend

대화식 스테이징

변경 사항을 더精细하게 컨트롤하려면 대화식 스테이징을 사용할 수 있습니다:

git add -i

This opens an interactive menu where you can selectively stage parts of files.

커밋에 대한 최선의 관행

다음은 커밋을 할 때 따르는 좋은 관행 목록입니다:

관행 설명
자주 커밋 작은, 빈번한 커밋을 만들어 큰, 드문 커밋보다
명확한 메시지 작성 현재 시제를 사용하고 커밋 메시지를 설명
커밋당 하나의 기능 각 커밋은 단일 논리적 변경 사항을 나타내야 합니다
커밋 전에 테스트 코드가 작동하는지 확인
변경 사항 검토 커밋 전에 git diff를 사용하여 변경 사항 검토

커밋 이력 보기

커밋 이력을 보려면 다음 명령어를 사용합니다:

git log

이 명령어는 역사적인 커밋 목록을 역순으로 보여줍니다. 다음과 같은 내용을 볼 수 있습니다:

commit 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
Author: Your Name <[email protected]>
Date:   Mon Jan 1 12:00:00 2023 +0000

Add hello world function

commit 9s8r7q6p5o4n3m2l1k0j9i8h7g6f5e4d3c2b1a
Author: Your Name <[email protected]>
Date:   Sun Dec 31 23:59:59 2022 +0000

Initial commit

결론

이제 여러분은 Git에서 변경 사항을 커밋하는 방법을 배웠습니다. 커밋은 게임에서 진행 상황을 저장하는 것처럼 - 자주 커밋하여 어려움을 피하십시오. 프로그래밍 여정을 계속하면서, 좋은 커밋 습관은 시간과 고통을 절약해 줄 것입니다.

이 명령어를 실험해 보지 마세요. 언제 어디서나 커밋하는 법을 배울 수 있을 것입니다 (하지만 꿈에서 코딩하는 것은 권장하지 않습니다 - 믿지 않겠지만, 컴파일 오류는 끔찍합니다!).

코딩을 계속하고, 커밋을 계속하고, 가장 중요한 것은 즐겁게 지내세요! 다음 시간까지, 여러분의 친절한 이웃 컴퓨터 과학 교사가 인사합니다. 행복한 커밋을 기원합니다!

Credits: Image by storyset