튜토리얼: 첫 번째 Git 커밋 만들기

이 튜토리얼은 Git의 작동 방식에 대해 간단히 알려줍니다. 여기서는 프로젝트를 만들고 파일을 편집하며 명령줄에서 Git 리포지터리에 변경 사항을 커밋하는 단계를 안내합니다.

완료하면 Git을 사용하여 연습할 수 있는 프로젝트가 생깁니다.

시작하기 전에

Git이란?

단계로 들어가기 전에 Git 기본 개념을 알아봅시다.

Git은 버전 관리 시스템입니다. 파일의 변경 사항을 추적하는 데 사용됩니다.

코드 또는 문서와 같은 파일은 Git 리포지터리에 저장됩니다. 파일을 편집하려면 리포지터리를 컴퓨터로 복제하고 변경 사항을 푸시하면 됩니다. GitLab에서 Git 리포지터리는 프로젝트에 위치합니다.

변경 사항을 푸시할 때마다 Git은 해당 변경 사항을 고유한 커밋으로 기록합니다. 이러한 커밋은 파일이 언제, 어떻게 변경되었는지, 누가 변경했는지를 나타냅니다.

graph LR subgraph 리포지터리 커밋 이력 direction LR A(작성자: Alex<br>날짜: 1월 3일 오후 1시<br>커밋 메시지: 매출 금액 추가<br>커밋 ID: 123abc12) ---> B B(작성자: Sam<br>날짜: 1월 4일 오전 10시<br>커밋 메시지: 오래된 정보 제거<br>커밋 ID: aabb1122) ---> C C(작성자: Zhang<br>날짜: 1월 5일 오후 3시<br>커밋 메시지: 송장 추가<br>커밋 ID: ddee4455) end

Git 리포지터리에서 작업할 때 브랜치에서 작업합니다. 기본적으로 리포지터리의 내용은 기본 브랜치에 있습니다. 변경 사항을 만들려면:

  1. 생성 시점의 기본 분기를 스냅샷으로 사용하는 새 분기를 만듭니다.
  2. 변경 사항을 만들고 해당 분기로 푸시합니다. 각 푸시는 커밋을 만듭니다.
  3. 준비가 되면 나의 분기를 기본 분기에 Merge합니다.
flowchart LR subgraph 기본 브랜치 A[커밋] --> B[커밋] --> C[커밋] --> D[커밋] end subgraph 나의 분기 B --1. 나의 분기 만들기--> E(커밋) E --2. 나의 커밋 추가--> F(커밋) F --3. 나의 분기를 기본에 Merge--> D end

모든 것이 살짝 압도적으로 느껴진다면 조금만 참고 계세요. 이러한 개념을 실제로 보게 될 것입니다.

단계

다음은 우리가 할 작업에 대한 개요입니다:

  1. 샘플 프로젝트 만들기.
  2. 리포지터리 복제.
  3. 분기 만들고 변경 사항 만들기.
  4. 변경 사항 커밋하고 푸시하기.
  5. 변경 사항 Merge하기.
  6. GitLab에서 변경 사항 보기.

샘플 프로젝트 만들기

먼저 GitLab에서 샘플 프로젝트를 만들어보세요.

  1. GitLab에서 왼쪽 사이드바 상단에 Create new () 및 New project/repository을 선택합니다.
  2. 프로젝트 이름My sample project를 입력합니다. 프로젝트 슬러그가 자동으로 생성됩니다. 이 슬러그는 프로젝트가 만들어진 후에 액세스할 수 있는 URL입니다.
  3. Initialize repository with a README가 선택되어 있는지 확인하세요. 다른 필드를 완성하는 방법은 사용자 재량에 따라 다릅니다.
  4. Create project를 선택합니다.

리포지터리 복제

이제 프로젝트의 개요 페이지에서 리포지터리를 복제할 수 있습니다. 리포지터리를 복제하는 것은 파일을 별도의 위치에 만들어 컴퓨터나 파일을 저장하고 작업할 수 있는 것입니다.

  1. 프로젝트의 개요 페이지에서 오른쪽 상단에 Code를 선택한 다음 Clone with SSH의 URL을 복사합니다.

    SSH로 프로젝트 복제

  2. 컴퓨터에서 터미널을 열고 파일을 복제하고자 하는 디렉터리로 이동합니다.

  3. 다음 명령을 입력하여 URL을 붙여넣습니다:

    git clone git@gitlab.com:gitlab-example/my-sample-project.git
    
  4. 해당 디렉터리로 이동하세요:

    cd my-sample-project
    
  5. 기본적으로 리포지터리의 기본 브랜치를 복제했습니다. 보통 이 브랜치는 main입니다. 기본 브랜치의 이름을 확인하세요.

    git branch
    

    키보드에서 Q를 눌러 메인 터미널 창으로 돌아갑니다.

분기 만들고 변경 사항 만들기

이제 리포지터리의 사본을 가지고 내가 원하는 변경 사항을 독립적으로 작업할 수 있도록 나만의 분기를 만듭니다.

  1. example-tutorial-branch라는 새 분기를 만듭니다.

    git checkout -b example-tutorial-branch
    
  2. Visual Studio Code, Sublime, vi 또는 다른 편집기에서 README.md 파일을 열고 이 문구를 추가합니다.

    Hello world! I'm using Git!
    
  3. 파일을 저장하세요.

  4. 변경된 파일을 Git이 추적합니다. 변경된 파일이 무엇인지 확인하려면 상태를 확인하세요.

    git status
    

    다음과 유사한 출력을 받아야 하며 파일 이름은 녹색 텍스트여야 합니다.

    On branch example-tutorial-branch
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
    modified:   README.md
       
    no changes added to commit (use "git add" and/or "git commit -a")
    

변경 사항 커밋하고 푸시하기

리포지터리의 파일을 변경했습니다. 이제 이 변경 사항을 첫 번째 커밋으로 기록할 차례입니다.

  1. README.md 파일을 스테이징 영역에 추가합니다. 스테이징 영역은 커밋하기 전에 파일을 넣는 곳입니다.

    git add README.md
    
  2. 파일이 스테이징되었는지 확인하세요:

    git status
    

    다음과 유사한 출력을 받아야 하며 파일 이름은 녹색 텍스트여야 합니다.

    On branch example-tutorial-branch
    Changes to be committed:
    (use "git restore --staged <file>..." to unstage)
    modified:   README.md
    
  3. 이제 스테이징된 파일을 커밋하고 변경 내용을 설명하는 메시지를 포함하세요. 메시지는 반드시 큰 따옴표(““)로 묶어야 합니다.

    git commit -m "I added text to the README file"
    
  4. 변경 사항이 분기에 커밋되었지만 여전히 이 분기와 해당 커밋은 여전히 귀하의 컴퓨터에서만 사용할 수 있습니다. 분기를 GitLab에 푸시하세요:

    git push origin example-tutorial-branch
    

이제 귀하의 분기가 GitLab에 올라가 다른 사용자들이 프로젝트에서 볼 수 있게 되었습니다.

분기 드롭다운 디렉터리

변경 사항 Merge하기

이제 example-tutorial-branch에서의 변경 사항을 기본 브랜치(main)로 Merge할 준비가 되었습니다.

  1. 리포지터리의 기본 브랜치를 확인하세요.

    git checkout main
    
  2. 분기를 기본 브랜치로 Merge하세요.

    git merge example-tutorial-branch
    
  3. 변경 사항을 푸시하세요.

    git push
    
note
이 튜토리얼에서는 리포지터리의 기본 브랜치로 분기를 직접 Merge합니다. GitLab에서는 보통 Merge Request를 사용하여 분기를 Merge합니다.

GitLab에서 변경 사항 보기

성공했습니다! 브랜치에서 README.md 파일을 업데이트하고 해당 변경 사항을 main 브랜치로 Merge했습니다.

UI에서 확인하여 변경 내용을 확인해 보겠습니다. 프로젝트로 이동하세요.

  • 아래로 스크롤하여 README.md 파일의 내용을 확인하세요. 변경 내용이 표시되어야 합니다.
  • README.md 파일 위에 최종 커밋 열의 텍스트를 확인하세요. 커밋 메시지가 이 열에 표시됩니다:

    커밋 메시지

이제 명령줄로 돌아가서 개인 브랜치로 변경하세요 (git checkout example-tutorial-branch). 파일을 계속 업데이트하거나 새 파일을 만들 수 있습니다. 변경 사항의 상태를 보려면 git status를 입력하세요 그리고 마음껏 커밋하세요.

실수를 해도 걱정하지 마세요. Git의 모든 것은 되돌릴 수 있으며, 복구할 수 없다고 판단되면 항상 새 브랜치를 생성하여 다시 시작할 수 있습니다.

잘 했습니다.

Git 학습 자료 더 보기

  • Git for GitLab 초보자용 코스(1시간 33분)에서 Git의 완전한 소개를 받아보세요.
  • 튜토리얼 페이지에서 Git 및 GitLab에 대한 다른 자습서를 찾아보세요.