튜토리얼: 첫 번째 Git 커밋 만들기
이 튜토리얼은 Git의 작동 방식에 대해 조금 배울 수 있도록 합니다. 여러분의 프로젝트를 생성하고, 파일을 편집하며, 명령줄에서 Git 저장소에 변경 사항을 커밋하는 방법을 안내합니다.
완료되면 Git을 연습할 수 있는 프로젝트가 생길 것입니다.
시작하기 전에
- 로컬 머신에 Git 설치하기.
- GitLab의 인스턴스에 로그인할 수 있는지 확인합니다. 귀하의 조직에 GitLab이 없다면, GitLab.com에서 계정을 생성하세요.
- SSH 키를 생성하고 GitLab에 추가하기. SSH 키는 컴퓨터와 GitLab 간에 안전하게 통신하기 위한 방법입니다.
Git이란?
단계로 들어가기 전에, 기본적인 Git 개념을 살펴보겠습니다.
Git은 버전 관리 시스템입니다. 이는 파일의 변경 사항을 추적하는 데 사용됩니다.
코드나 문서와 같은 파일을 Git 저장소에 저장합니다. 파일을 편집하고 싶을 때, 클론하여 컴퓨터로 가져오고, 변경 사항을 만들고, 푸시하여 변경 사항을 다시 저장소로 보냅니다. GitLab에서 Git 저장소는 프로젝트에 위치합니다.
변경 사항을 푸시할 때마다 Git은 이를 고유한 커밋으로 기록합니다. 이러한 커밋은 파일이 언제, 어떻게 변경되었고, 누가 변경했는지를 구성하는 이력입니다.
Git 저장소에서 작업할 때, 브랜치에서 작업하게 됩니다. 기본적으로 저장소의 내용은 기본 브랜치에 있습니다. 변경 사항을 만들기 위해서는:
- 기본 브랜치의 스냅샷인 자신의 브랜치를 생성합니다.
- 변경 사항을 만들고 자신의 브랜치에 푸시합니다. 각 푸시는 커밋을 생성합니다.
- 준비가 되면, 자신의 브랜치를 기본 브랜치에 병합합니다.
모든 것이 다소 압도적으로 느껴진다면, 참고 기다리세요. 곧 이러한 개념을 실제로 보게 될 것입니다.
단계
우리가 할 일의 개요는 다음과 같습니다:
샘플 프로젝트 생성
시작하려면 GitLab에서 샘플 프로젝트를 생성합니다.
- GitLab에서 왼쪽 사이드바 상단에서 Create new ()를 선택하고 New project/repository를 선택합니다.
-
Project name에
My sample project
를 입력합니다. 프로젝트 슬러그는 자동으로 생성됩니다.
이 슬러그는 프로젝트가 생성된 후 접근하는 데 사용할 URL입니다. -
Initialize repository with a README가 선택되어 있는지 확인합니다.
나머지 필드를 어떻게 완성할지는 여러분에게 달려 있습니다. - Create project를 선택합니다.
리포지토리 복제
이제 여러분의 프로젝트에서 리포지토리를 복제할 수 있습니다. 복제란 파일을 저장하고 작업할 컴퓨터 또는 원하는 위치에 복사본을 만드는 것을 의미합니다.
-
프로젝트 개요 페이지의 오른쪽 상단 코너에서 Code를 선택한 후 Clone with SSH의 URL을 복사합니다.
-
컴퓨터에서 터미널을 열고 파일을 복제할 디렉토리로 이동합니다.
-
git clone
을 입력하고 URL을 붙여넣습니다:git clone git@gitlab.com:gitlab-example/my-sample-project.git
-
디렉토리로 이동합니다:
cd my-sample-project
-
기본적으로 리포지토리의 기본 브랜치를 복제했습니다. 일반적으로 이 브랜치는
main
입니다. 확인하려면 기본 브랜치의 이름을 가져옵니다:git branch
현재 위치한 브랜치는 별표(*)로 표시됩니다.
터미널 메인 화면으로 돌아가려면 키보드에서Q
를 누릅니다.
브랜치 생성 및 변경 사항 추가
이제 리포지토리의 복사본이 있으므로 독립적으로 변경 작업을 수행할 수 있도록 자신의 브랜치를 생성합니다.
-
example-tutorial-branch
라는 새 브랜치를 생성합니다.git checkout -b example-tutorial-branch
-
Visual Studio Code, Sublime,
vi
또는 기타 편집기에서 README.md 파일을 열고 다음 텍스트를 추가합니다:Hello world! I'm using Git!
-
파일을 저장합니다.
-
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")
변경 사항 커밋 및 푸시
리포지토리의 파일을 변경했습니다. 이제 첫 번째 커밋을 만들어 이러한 변경 사항을 기록할 시간입니다.
-
README.md
파일을 스테이징 영역에 추가합니다. 스테이징 영역은 커밋하기 전에 파일을 두는 곳입니다.git add README.md
-
파일이 스테이징되었는지 확인합니다:
git status
다음과 유사한 출력을 얻어야 하며 파일 이름은 초록색 텍스트로 표시됩니다.
On branch example-tutorial-branch Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: README.md
-
이제 스테이징된 파일을 커밋하고 변경 사항을 설명하는 메시지를 포함합니다. 메시지는 큰따옴표(““)로 감싸야 합니다.
git commit -m "I added text to the README file"
-
변경 사항이 여러분의 브랜치에 커밋되었지만, 여러분의 브랜치와 커밋은 아직 컴퓨터에만 있습니다. 다른 누구도 접근할 수 없습니다. 브랜치를 GitLab에 푸시합니다:
git push origin example-tutorial-branch
여러분의 브랜치는 이제 GitLab에서 사용 가능하며 프로젝트의 다른 사용자에게 보입니다.
변경 사항 병합하기
이제 example-tutorial-branch
브랜치의 변경 사항을
기본 브랜치(main
)로 병합할 준비가 되었습니다.
-
리포지토리의 기본 브랜치로 체크아웃합니다.
git checkout main
-
기본 브랜치에 브랜치를 병합합니다.
git merge example-tutorial-branch
-
변경 사항을 푸시합니다.
git push
GitLab에서는 일반적으로 병합 요청을 사용하여 브랜치를 병합합니다.
GitLab에서 변경 사항 보기
잘 하셨습니다! 브랜치의 README.md
파일을 업데이트하고
이 변경 사항을 main
브랜치에 병합했습니다.
UI에서 변경 사항을 확인해 보겠습니다. 프로젝트로 이동하세요.
-
아래로 스크롤하여
README.md
파일의 내용을 봅니다. 변경 사항이 표시되어야 합니다. -
README.md
파일 위에서 Last commit 열의 텍스트를 봅니다. 커밋 메시지가 이 열에 표시됩니다:
이제 명령줄로 돌아가 개인 브랜치로 변경하세요
(git checkout example-tutorial-branch
). 파일을 계속 업데이트하거나
새 파일을 생성할 수 있습니다. git status
를 입력하여
변경 사항의 상태를 확인하고 마음 편히 커밋하세요.
문제가 생기더라도 걱정하지 마세요. Git의 모든 것은 되돌릴 수 있으며, 복구할 수 없는 경우 항상 새 브랜치를 만들고 다시 시작할 수 있습니다.
잘 하셨습니다.
Git 학습 자료 더 찾기
- Git for GitLab 초급 과정에서 Git에 대한 완전한 소개를 받으세요 (1시간 33분).
- 튜토리얼 페이지에서 Git 및 GitLab에 대한 다른 튜토리얼을 찾으세요.
- PDF 다운로드: GitLab Git Cheat Sheet.
- 블로그 게시물: Git 팁과 요령.
- 블로그 게시물: Git과 더 잘 작업하는 데 도움이 되는 8가지 팁.
- 공식 Git 문서, 포함하여 서버에서의 Git - GitLab.