Git 커밋 작성 방법 튜토리얼

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

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

시작하기 전에

Git이란?

단계로 들어가기 전에 기본적인 Git 개념을 살펴봅시다.

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

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

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

%%{init: { "fontFamily": "GitLab Sans" }}%% graph LR accTitle: 리포지토리 커밋 이력 accDescr: 리포지토리 이력의 선형적인 변경을 보여주는 플로우차트 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. 준비가 되면 자체 브랜치를 기본 브랜치로 병합합니다.
%%{init: { "fontFamily": "GitLab Sans" }}%% 플로우차트 LR accTitle: Git에서 브랜치 사용 accDescr: Git에서 브랜치를 만들고 사용하는 흐름 subgraph 기본 브랜치 A[커밋] --> B[커밋] --> C[커밋] --> D[커밋] end subgraph 내 브랜치 B --1. 내 브랜치 만들기--> E(커밋) E --2. 내 커밋 추가--> F(커밋) F --3. 기본 브랜치로 내 브랜치 병합--> D end

만약 이 모든 것이 약간 어렵게 느껴진다면, 조금만 참으십시오. 곧 이러한 개념을 실습할 것입니다.

단계

다음은 우리가 할 내용에 대한 개요입니다.

  1. 샘플 프로젝트 생성.
  2. 리포지토리 복제.
  3. 브랜치 만들고 변경 사항 만들기.
  4. 변경 사항 커밋하고 푸시하기.
  5. 변경 사항 병합하기.
  6. GitLab에서 변경 사항 보기.

샘플 프로젝트 생성

먼저, GitLab에서 샘플 프로젝트를 만듭니다.

  1. GitLab의 왼쪽 사이드바에서 맨 위에 있는 아이콘을 선택한 다음 새 프로젝트/리포지토리 만들기를 선택합니다.
  2. 프로젝트 이름My sample project를 입력하십시오. 프로젝트 슬러그는 자동으로 생성됩니다. 이 슬러그는 프로젝트를 작성한 후에 사용할 수있는 URL입니다.
  3. 리포지토리에 README를 함께 초기화를 선택하십시오. 다른 필드를 어떻게 완료하는지는 당신에게 달렸습니다.
  4. 프로젝트 만들기를 선택하십시오.

리포지토리 복제

이제 프로젝트의 리포지토리를 복제 할 수 있습니다. 복제는 컴퓨터나 파일을 저장하고 작업할 위치에 복사하는 것을 의미합니다.

  1. 프로젝트 개요 페이지에서 오른쪽 상단에 있는 코드를 선택한 다음 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 파일을 열고 다음을 추가하십시오.

    안녕, 세상! 나는 Git을 사용 중이야!
    
  3. 파일을 저장하십시오.

  4. Git은 변경된 파일을 추적합니다. 어떤 파일이 변경되었는지 확인하려면 상태를 확인하십시오.

    git status
    

    다음과 유사한 출력을 확인해야 합니다.

    example-tutorial-branch 브랜치에 있음
    커밋할 변경 사항:
    (커밋할 변경 사항을 업데이트하려면 "git add <file>..."을 사용하십시오)
    (작업 디렉터리의 변경 사항을 삭제하려면 "git restore <file>..."을 사용하십시오)
    수정됨:   README.md
    
    커밋에 추가할 변경 사항이 없습니다 (git add 또는/및 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 "README 파일에 텍스트를 추가했습니다"
    
  4. 변경 내용은 브랜치에 커밋되었지만, 해당 브랜치와 커밋은 여전히 여러분의 컴퓨터에서만 이용할 수 있습니다. 아무도 이를 아직 접근할 수 없습니다. 브랜치를 GitLab에 푸시하세요:

    git push origin example-tutorial-branch
    

여러분의 브랜치는 이제 GitLab에 등록되어 프로젝트의 다른 사용자들에게 보이게 됩니다.

Branches dropdown list

변경 내용을 병합하세요

이제 여러분은 example-tutorial-branch 브랜치에서의 변경 사항을 기본 브랜치인 (main)에 병합할 준비가 되었습니다.

  1. 저장소의 기본 브랜치를 확인합니다.

    git checkout main
    
  2. 브랜치를 기본 브랜치에 병합합니다.

    git merge example-tutorial-branch
    
  3. 변경 사항을 푸시합니다.

    git push
    

참고: 이 튜토리얼에서는 저장소의 기본 브랜치로 브랜치를 직접 병합합니다. GitLab에서는 일반적으로 병합 요청를 사용하여 브랜치를 병합합니다.

GitLab에서 변경 사항 확인하기

할 수 있었습니다! 브랜치의 README.md 파일을 업데이트했고, 해당 변경 사항을 main 브랜치에 병합했습니다.

UI에서 확인하여 여러분의 변경 사항을 확인해보겠습니다. 프로젝트로 이동하세요.

  • 페이지를 아래로 스크롤하여 README.md 파일의 내용을 확인하세요. 여러분의 변경 사항이 보여야 합니다.
  • README.md 파일 위에서 최근 커밋 열의 텍스트를 확인하세요. 해당 열에 커밋 메시지가 표시됩니다:

    커밋 메시지

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

무언갈 엉망으로 만들었다고 걱정하지 마세요. Git의 모든 것은 되돌릴 수 있으며, 복구할 수 없다고 판단되면 언제든지 새로운 브랜치를 만들고 다시 시작할 수 있습니다.

잘 하셨습니다.

Git 학습 자료 더 보기

공식 Git 문서를 참고하세요. 이 중에는 서버에 Git 설정하기 - GitLab도 포함되어 있습니다.