튜토리얼: 첫 번째 Git 커밋 만들기
이 튜토리얼에서는 Git의 작동 방식에 대해 알려드립니다. 프로젝트를 만들고 파일을 편집하고 명령줄에서 Git 리포지터리에 변경 사항을 커밋하는 단계를 안내합니다.
완료하면 Git을 사용하여 연습할 수있는 프로젝트가 생깁니다.
시작하기 전에
- 로컬 머신에 Git 설치.
- GitLab 인스턴스에 로그인할 수 있도록 확인합니다. 귀하의 조직에 GitLab이 없는 경우 GitLab.com에서 계정을 만듭니다.
- SSH 키를 만들고 GitLab에 추가합니다. SSH 키는 컴퓨터와 GitLab 간에 안전하게 통신하는 방법입니다.
Git이란?
단계로 들어가기 전에 기본적인 Git 개념을 살펴보겠습니다.
Git은 버전 관리 시스템입니다. 파일의 변경 사항을 추적하는 데 사용됩니다.
코드 또는 문서와 같은 파일을 Git 리포지터리에 저장합니다. 파일을 편집하려면, 리포지터리를 컴퓨터로 복제(cloning)하고 변경 사항을 만든 다음, 변경 사항을 다시 리포지터리로 푸시(push)합니다. GitLab에서 Git 리포지터리는 프로젝트에 위치합니다.
변경 사항을 푸시할 때마다 Git은 고유한 커밋으로 기록합니다. 이러한 커밋은 파일이 언제, 어떻게 변경되었는지, 또 변경한 사람이 누구인지에 대한 이력을 구성합니다.
Git 리포지터리에서 작업할 때는 브랜치에서 작업합니다. 기본적으로 리포지터리의 내용은 기본 브랜치에 있습니다. 변경하려면 다음을 수행합니다.
- 생성 시점의 기본 브랜치의 스냅샷인 자체 브랜치를 만듭니다.
- 변경을 하고 해당 브랜치로 푸시합니다. 각 푸시는 커밋을 만듭니다.
- 준비가 되면, 브랜치를 기본 브랜치에 Merge합니다.
이 모든 것이 약간 압도적으로 느껴진다면, 버텨주세요. 이러한 개념들을 곧 실제로 보게됩니다.
단계
다음은 우리가 수행할 작업에 대한 개요입니다.
샘플 프로젝트 만들기
먼저 GitLab에서 샘플 프로젝트를 만듭니다.
- GitLab에서 왼쪽 사이드바 맨 위에서 새로 만들기 () 및 새 프로젝트/리포지터리를 선택합니다.
-
프로젝트 이름에
내 샘플 프로젝트
를 입력합니다. 프로젝트 슬러그가 자동으로 생성됩니다. 이 슬러그는 프로젝트 생성 후에 액세스하는 데 사용할 수 있는 URL입니다. - README로 리포지터리 초기화가 선택되어 있는지 확인합니다. 다른 필드를 채우는 방법은 당신에 달려 있습니다.
- 프로젝트 만들기를 선택합니다.
리포지터리 복제
이제 프로젝트의 개요 페이지에서 리포지터리를 클론할 수 있습니다. 리포지터리를 *클론하려는 게**이는 리포지터리를 컴퓨터 상이나 파일을 저장하고 작업하는 곳에 복사하는 것을 의미합니다.
-
프로젝트의 개요 페이지에서 오른쪽 상단에서 코드를 선택한 다음 SSH로 복제(clone)의 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
파일을 열고 다음 텍스트를 추가합니다.안녕하세요! Git을 사용 중입니다!
-
파일을 저장합니다.
-
Git은 변경된 파일을 추적합니다. 변경된 파일을 확인하려면 상태를 확인합니다.
git status
다음과 유사한 출력을 받아야 합니다.
예시 브랜치에 있음 저장하지 않으려는 변경 사항: (커밋할 대상으로 표시하려면 "git add <file>..." 사용) (작업 디렉터리의 변경 사항 버리려면 "git restore <file>..." 사용) 수정함: README.md 변경 사항 커밋할 것 없음 (git add 또는 git commit -a로 변경 사항을 커밋할 수 있음)
변경 사항을 커밋하고 푸시
리포지터리의 파일을 수정했습니다. 이제 제일 처음으로 변경 사항을 기록해서 커밋합니다.
-
README.md
파일을 스테이징 영역에 추가합니다. 스테이징 영역은 커밋하기 전에 파일을 넣는 곳입니다.git add README.md
-
파일이 스테이징되었는지 확인합니다.
git status
다음과 유사한 출력을 받아야하며 파일 이름은 초록색으로 표시되어야 합니다.
예시 브랜치에 있음 커밋할 변경 사항: (해당 파일을 스테이징 해제하려면 "git restore --staged <file>..." 사용) 수정함: README.md
-
이제 스테이징된 파일을 커밋하고 변경 내용을 설명하는 메시지를 포함시킵니다. 메시지는 반드시 이중 따옴표(“)로 둘러싸야합니다.
git commit -m "README 파일에 텍스트를 추가했습니다."
-
변경 사항이 브랜치에 커밋되었지만 브랜치와 커밋은 여전히 컴퓨터에만 있습니다. 아무도 액세스할 수 없습니다. GitLab에 브랜치를 푸시합니다.
git push origin example-tutorial-branch
귀하의 브랜치는 이제 GitLab에서 사용 가능하며 프로젝트의 다른 사용자에게 표시됩니다.
변경 사항을 Merge하세요
이제 example-tutorial-branch
브랜치에서의 변경 내용을 기본 브랜치(main
)에 Merge할 준비가 되었습니다.
-
귀하의 리포지터리에 대한 기본 브랜치를 확인하세요.
git checkout main
-
브랜치를 기본 브랜치에 Merge하세요.
git merge example-tutorial-branch
-
변경 사항을 푸시하세요.
git push
GitLab에서 변경 사항 확인하기
성공했습니다! 귀하의 브랜치에서 README.md
파일을 업데이트하고 해당 변경 사항들을 main
브랜치에 Merge했습니다.
이제 UI에서 변경 사항을 확인해 봅시다. 귀하의 프로젝트로 이동합니다.
- 아래로 스크롤하여
README.md
파일의 내용을 확인하세요. 귀하의 변경 사항이 표시되어야 합니다. -
README.md
파일 위에 최근 커밋 열의 텍스트를 확인하세요. 귀하의 커밋 메시지가 이 열에 표시됩니다:
이제 명령줄로 돌아가서 개인 브랜치로 돌아갈 수 있습니다
(git checkout example-tutorial-branch
). 파일을 계속 업데이트하거나
새로운 파일을 만들 수 있습니다. 변경 사항의 상태를 보려면 git status
를 입력하세요.