고급 Git 튜토리얼
이 페이지에서
- 전제 조건
- 무엇을 할 것인가?\n
- 분기 만들기
- 분기를 기본 분기에 병합\n
- 태그 만들기
- 지점 이름 바꾸기
- 커밋 되돌리기
- 결론
이 문서는 기존 문서 Linux에서 GIT 시작하기의 연속입니다. Git을 처음 사용하는 경우 먼저 이전 기사를 살펴본 다음 계속 진행하는 것이 좋습니다.
이 기사에서는 브랜치 생성, 태그 지정, 브랜치 이름 바꾸기, Git 커밋 되돌리기에 대해 다룹니다.
- 분기: 분기는 기본 분기의 혼란을 피하기 위해 새로운 개발 라인을 만드는 데 도움이 됩니다.\n
- 태그: Git의 태그는 Git 기록에 대한 참조입니다.\n
- 브랜치 이름 바꾸기: 브랜치 이름 바꾸기는 기존 브랜치의 이름을 변경하고 새 이름으로 브랜치에 기존 코드를 갖는 것을 의미합니다.\n
- 커밋 되돌리기: 되돌리면 로컬 및 원격 저장소의 변경사항을 취소하는 데 도움이 됩니다.\n
전제 조건
- Git에 대한 기본 이해(Git의 기본에 대해 알아보려면 여기를 클릭하세요.)\n
우리는 무엇을 할 것인가?
- 분기를 만듭니다.
- 분기를 기본 분기에 병합합니다.\n
- 태그를 만듭니다.
- 분기 이름을 바꿉니다.
- 커밋을 되돌립니다.
지점 만들기
새 분기를 만들기 전에 로컬 저장소로 이동하여 다음 명령어를 사용하여 분기와 상태를 확인하세요. 여기서 test-repo는 내 저장소 이름입니다.
pwd
git status
git log
git branch

기존 리포지토리에 새 분기를 만들고 체크아웃합니다.
git branch
git branch my-feature-branch
git branch
git checkout my-feature-branch
git branch

새 파일을 생성하고 생성한 브랜치에 푸시합니다.
ll
touch new-file-in-my-feature-branch
git status
git add new-file-in-my-feature-branch
git commit -m "created a new file in my-feature-branch"
git push
git push --set-upstream origin my-feature-branch

브랜치를 메인 브랜치로 합치기
새 분기의 변경 사항을 기본 분기에 병합하려면 다음 명령을 사용하여 원하는 분기의 변경 사항을 병합할 수 있습니다. 먼저 메인 브랜치로 체크아웃한 다음 생성한 브랜치를 병합해야 합니다.
ll
git branch
git checkout main
ll
git merge my-feature-branch
ll

태그 만들기
태그 생성은 브랜치 생성만큼 간단합니다. 먼저 저장소에서 몇 가지 사항을 변경한 다음 태그를 생성해 보겠습니다. 원격 리포지토리로 푸시하기 전에 변경 사항을 커밋해야 합니다.
git tag
ll
touch new-file-for-tag
git status
git add new-file-for-tag
git tag -a mytag.v1 -m
git tag -a mytag.v1 -m "create a tag"
git tag
git log
git status
git commit -m "create a tag mytag.v1"
git push

우리는 우리가 가지고 있는 모든 태그를 확인하고 해당 태그에 커밋할 수 있습니다. 브랜치를 푸시하는 방식으로 태그도 푸시할 수 있습니다.
git tag
git show mytag.v1
git push origin mytag.v1

지점으로 체크아웃하는 방식과 마찬가지로 특정 태그로 체크아웃할 수도 있습니다.
git branch
git tag
git checkout mytag.v1
git branch

더 진행하기 전에 메인 브랜치를 확인해 봅시다.
git branch
git checkout main
git branch

브랜치 이름 바꾸기
때때로 브랜치의 이름을 바꿔야 한다고 느낄 수도 있습니다. 다음 명령을 사용하여 매우 쉽게 수행할 수 있습니다.
git branch
git branch wrong-brach
git checkout wrong-brach
touch file-in-wrong-branch
git add file-in-wrong-branch
git commit -m "Created a branch wrong-brach with a new file"
git push
git push --set-upstream origin wrong-brach
git branch
git branch --move wrong-brach correct-branch
git branch
push --set-upstream origin correct-branch

원격 저장소에서 분기를 삭제할 수도 있습니다.
git branch
git branch -a
git push origin --delete wrong-brach
git branch -a

커밋 되돌리기
커밋을 되돌리고 변경 사항을 로컬에 계속 유지하려는 경우 다음 명령을 사용하여 소프트 재설정을 수행할 수 있습니다.
git branch
git checkout main
git log
git reset --soft HEAD~1
git log

커밋을 되돌린 후에도 로컬 변경사항을 계속 사용할 수 있음을 확인할 수 있습니다.
git status
git pull
git log
git status

커밋을 되돌리고 변경 사항을 로컬로 유지하지 않으려면 다음 명령을 사용하고 하드 리셋을 수행할 수 있습니다.
git log
git reset --hard HEAD~1
git status
git log

이 경우 커밋을 되돌린 후 로컬에서 변경 사항이 없음을 알 수 있습니다.
git status
git pull
git log

위의 두 시나리오에서 로컬 커밋을 되돌리는 것을 보았습니다. 경우에 따라 원격 저장소에서 커밋을 되돌려야 할 수도 있습니다. 이렇게 하려면 변경 사항을 로컬로 되돌린 후 브랜치 이름 접미사로 "+"를 사용하여 브랜치에 변경 사항을 푸시해야 합니다.
git branch
git log
git reset --hard HEAD~1
git push +main
git push origin +main

원격 저장소에 되돌린 커밋이 포함되어 있지 않은 것을 확인할 수 있습니다.

결론
이 기사에서는 분기 및 태그 생성과 같은 시나리오를 다루었습니다. 기존 브랜치의 이름을 변경해야 하는 경우 브랜치의 이름을 바꾸는 방법을 살펴봤습니다. 또한 원격 저장소뿐만 아니라 로컬 저장소의 커밋도 되돌릴 수 있음을 확인했습니다. 이제 이 도움말의 명령어를 사용하고 직접 사용해 볼 수 있습니다.