티스토리 뷰
*Git Branch란?
독립적으로 어떤 작업을 진행하기 위한 개념으로 repository의 복제본을 만드는 것을 말한다. branch를 사용하면 공동 작업을 할 때 각자 개별적인 저장소 안에서 작업을 동시에 진행할 수 있고 나중에 원래 버전과 비교해서 새로운 버전을 만들 수 있다.
이번 글에서는 remote repository에는 master branch 하나만 두고 local에서 branch를 나누어 작업하는 방법을 알아보겠다.
*Branch 생성 & 전환하기
우선 먼저 만들어 두었던 git repository를 clone 명령을 통해 가져오도록 한다. 아니면 기존에 만들어 두었던 프로젝트에 git repository 설정을 해주어도 된다. (이전 글 참고)
git clone YOUR-REMOTE-REPOSITORY-URL
이전에 만들어 두었던 repository를 가져온 것인데 이곳에는 "# Test"라고 쓰여진 README.md 파일이 들어있다. git repository 프로젝트를 가지고 왔다면 해당 디렉토리에서 터미널을 연다.
$ git branch
*master
위 명령어를 통해 먼저 branch 목록을 확인할 수 있다. 현재는 master branch만 존재한다.
$ git branch YOUR-BRANCH-NAME
예) git branch dev-mac
git branch 명령어 뒤에 만들고자 하는 branch 이름을 적으면 branch를 생성할 수 있다. 다시 git branch 명령으로 branch 목록을 보면 새로운 브랜치가 생긴 것을 알 수 있다.
$ git checkout YOUR-BRANCH-NAME
git checkout 명령어를 사용하면 해당 branch로 이동할 수 있다.
git checkout -b YOUR-BRANCH-NAME
위 명령어를 사용하면 branch를 생성하면서 동시에 해당 branch로 이동할 수 있다. branch를 이동하고 git branch로 목록을 보면 현재 branch 앞에 *가 되어 branch가 이동했음을 알 수 있다.
*Branch 병합하기
branch를 이동했다면 해당 branch에서 파일을 수정하는 작업을 한다.
$ vi README.md
[README.md 파일 수정]
(1) i를 눌러 --INSERT-- 상태가 되면 텍스트 수정
(2) 수정이 끝나면 esc 키를 눌러 수정 종료
(3) :wq를 입력하여 저장하고 에디터를 종료
$ git add README.md
$ git commit -m "YOUR-COMMENT"
작업을 진행하고 나면 다음과 같이 README.md 파일이 변경된 것을 확인할 수 있다.
이제 다시 master branch로 돌아가보겠다. git checkout master 명령어를 입력해서 branch를 이동해서 README.md 파일을 확인해보면 변경 사항이 적용되지 않은 것을 볼 수 있다.
이전 branch에서 작업한 내용을 master branch에 반영하기 위해서는 merge라는 명령어를 사용하게 된다. 먼저 master branch로 이동한 상태에서 다음과 같은 명령을 실행한다.
$ git merge FROM-BRANCH-NAME
예) git merge dev-mac
이제 master branch에도 반영이 되었다면 README.md 파일의 변경 사항이 추가된 것을 확인할 수 있다. 지금까지 내용을 도식으로 보면 다음과 같다. HEAD는 현재 작업 중인 branch를 의미한다.
*Remote Repository에 push하기
Local Repository에서 생성한 새로운 branch를 Remote Repository에 반영하지 않고 그냥 master에 병합된 내용을 반영해보도록 하겠다.
$ git push -u origin master
위 명령어를 통해 Remote Repository에 저장하고 내용을 확인한다. commits도 꼭 확인하는 것이 좋다.
Local Repository에서 만든 dev-mac이라는 branch를 반영한 것이 아니기 때문에 Remote Repository에는 여전히 master branch만 존재한다. 다음 번에는 Remote Repository에도 새로운 branch를 반영하는 것을 살펴보겠다.
*Branch 제거하기
생성했던 branch를 제거하는 방법은 다음과 같은 명령어를 사용한다.
$ git branch -d YOUR-BRANCH-NAME
git branch 명령어로 목록을 확인해 보면 해당 branch가 삭제된 것을 확인할 수 있다.
! 주의할 사항
작업한 내용을 commit 하기 전에 항상 Remote Repository의 최신 버전이 Local Repository 버전과 맞는지 확인하는 것이 중요하다! git pull 명령어를 통해 가장 최신 버전을 가져온 후 commit을 수행하는 것이 충돌을 줄일 수 있는 방법이다.
$ git pull
$ git pull origin REMOTE-BRANCH-NAME (origin repository의 특정 branch의 최신 버전을 가져오기)
하지만 충돌이 발생한다고 해도 보고 수정할 수 있으니 너무 걱정은 하지 말기로 하자!
(Git을 사용한지 얼마 되지 않아 그냥 혼자 개념 정리하는 식으로 작성해 본다... 부족한 부분들은 익숙해지면서 차근차근 수정해 보기로 하자...!!)
'기타' 카테고리의 다른 글
[Gitlab] ssh key 생성 및 등록 (0) | 2022.03.01 |
---|---|
Docker 기본 명령어 (0) | 2022.02.12 |
[Docker] MySQL Docker로 띄우기 및 접속 (0) | 2022.01.12 |
Github 사용하기 - 동시에 여러 작업 진행 (0) | 2020.03.07 |
Github 사용하기 (0) | 2020.03.07 |
- Total
- Today
- Yesterday
- 순열
- CodePipeline
- EC2
- Combination
- Baekjoon
- CodeDeploy
- spring
- search
- 프로그래머스
- 조합
- Algorithm
- 소수
- cloudfront
- permutation
- CodeCommit
- map
- sort
- java
- SWIFT
- DFS
- string
- ionic
- programmers
- 수학
- ECR
- array
- AWS
- BFS
- 에라토스테네스의 체
- Dynamic Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |