힘내 튜토리얼-지점
이 튜토리얼에서는 git 버전 제어 시스템의 가장 중요한 기능 중 하나 인 분기에 대해 배웁니다.
분기가 필요한 이유는 무엇입니까?
지금까지 우리는 하나의 브랜치 인 ‘마스터’브랜치에서만 작업했습니다. 새 저장소를 만들 때 기본 분기입니다.
일반적으로 ‘마스터’브랜치는 코드의 안정적인 버전을 나타내며 릴리스되거나 게시됩니다. 이러한 이유로, 우리는 master
브랜치의 새로운 코드에서 코드를 엉망으로 만드는 것을 피하기 위해 새로운 기능을 시도하고 싶지 않습니다.
응용 프로그램에 새로운 기능을 추가하고 싶을 때 필요한 것은이 새로운 기능을 시험해 볼 수있는 격리 된 환경을 만드는 것입니다. 마무리하고 테스트하면이 새로운 기능을 ‘마스터’분기에 병합 할 수 있습니다. master
브랜치에 더 많은 커밋을 추가하는 대신 격리 된 환경으로 작동하고 새 기능을 테스트하기 위해 새 브랜치를 만듭니다.
Git 에서 새로운 브랜치 생성
$ git branch test_branch
우리가 test_branch
브랜치를 만들 때 여기서하는 것은 master
브랜치의 코드 상태를이 브랜치에 복사 한 다음이 test_branch
브랜치에서 작업 할 수 있다는 것입니다.
다음을 입력하여 PC 에서 사용 가능한 분기를 나열 할 수 있습니다.
$ git branch
* master
test_branch
새로 작성된 test_branch
및 master
분기가 여기에 나열됩니다.
이제 새 브랜치를 만들었지 만 여전히 ‘마스터’브랜치에 있습니다. 작업하려면 새 브랜치를 확인해야합니다.
$ git checkout test_branch
Switched to branch 'test_branch'
D test1_rename.txt
이제 test_branch
브랜치로 전환되었으며 git branch
를 다시 수행하면
$ git branch
master
* test_branch
그러면 별표 *가 test_branch
앞에 있지만 더 이상 master
가 아니기 때문에 이제 test_branch
브랜치에있는 것을 볼 수 있습니다.
test3.txt
파일에This is the added line in branch test_branch
와 같은 텍스트를 추가해 보겠습니다. 이제 git status 를 수행하면이 파일이 변경되었음을 알 수 있습니다.
$ git status
On branch test_branch
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: test3.txt
no changes added to commit (use "git add" and/or "git commit -a")
우리는 마지막 장에서 배운대로이 지점에 변경 사항을 적용 할 수 있습니다.
우리가 한 일은이 새로운 브랜치를 만들고 master
브랜치와는 분리 된 일부 변경을 수행 한 것입니다. master
브랜치의 코드는 변경되지 않고 안정적으로 유지됩니다.
힘내에서 분기 삭제
지점에 추가 된 새 기능에 만족하면 삭제할 수 있습니다.
$ git checkout master
$ git branch -d test_branch
error: The branch 'test_branch' is not fully merged.
If you are sure you want to delete it, run 'git branch -D test_branch'.
branch
다음의-d
매개 변수는 지정된 분기를 삭제한다는 의미입니다.
test_branch
브랜치가 완전히 병합되지 않았다는 오류가 발생했습니다. 확실하게 삭제하려면 git branch -D test_branch
를 실행하십시오. 소문자 d
는 분기를 병합 한 후에 만 작동하지만 대문자 D
는 분기를 강제로 삭제할 수 있습니다. 다음 장에서 분기를 병합하는 방법을 소개하지만 지금은 대문자 D
를 사용하여이 분기를 삭제하겠습니다.
$ git branch -D test_branch
Deleted branch test_branch (was 7d6bca6).
지금 지점을 확인하면 ‘마스터’지점 만 표시됩니다.
$ git branch
* master
Git 에서 동시에 새로운 브랜치를 생성하고 체크 아웃하십시오
위에 표시된 워크 플로는 먼저 git branch
를 사용하여 분기를 만든 다음 git checkout
을 사용하여이 분기를 확인합니다.
이 두 단계를 하나로 결합하는 더 빠른 방법이 있습니다.
$ git checkout -b new_test_branch
Switched to a new branch 'new_test_branch'
M test3.txt
그것이하는 것은 가지를 만들고 체크 아웃하는 것입니다. 따라서이 두 단계를 별도로 수행 할 필요가 없습니다.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook