[Git] 계속되는 git 명령어 정리!(3)

Youngwoo Lee·2021년 3월 7일
0

git

목록 보기
5/9
post-thumbnail

오늘도 여김없이 다가온 git 명령어 정리 시간 ...ㅎ 오늘은 branch 에 대해서 알아보려고 합니다

Why do we have to make branches❓❓

그럴 때 있지 않나요??

메인 작업에 영향을 끼치지 않으면서 새로운 시도를 하고 싶을때!

그때 가지 처럼 나온 새로운 루트로 작업을 하고 만약 마음에 든다? 그럼 메인에 합쳐도 되고

마음에 안들면 과감하게 가지치기를 해버리면 되겠죠?

이렇게 branch 를 사용하게 되면 자유로운 시도들이 가능해지니깐 정말 유용하겠죠?

1. branch 명령어를 통한 branch 생성과 관리 🎋

- git branch <브랜치명>
- git branch 
- git branch -v 
- git branch -r 
- git barnch -a 
- git branch -D [name]
- git branch --set-upstream-to <원격 저장소 단축이름>/<브랜치명>
* git branch -M <기존 브랜치명> <갱신할 브랜치명>

제일 먼저 새로운 branch를 생성해보자!

git branch <브랜치명>

다음 명령어를 실행하면 위 브랜치로 이동하지 않은 상태로 새로운 브랜치를 생성한다!

그리고 git branch 명령어를 입력함으로써 새로운 branch 가 브랜치 목록에 있는 것을 확인할 수 있다!

아! 그리고 자세한 local branch 에 대한 정보가 담긴 목록을 보고 싶다면 git branch -v 를 사용하면 된다

그렇다면 remote branch 가 궁금하다면?? git branch -r 를 입력하자!

따로 보는게 불편하다? 그럼 all 같이 보자! git branch -a

branch 에서 충분한 작업을 끝낸 뒤에 더 이상 branch가 쓸모 없다?

그럼 git branch -D <브랜치명> 을 통해서 삭제하자!

그리고 가끔 local branch 와 remote branch 를 수동으로 연동해줘야 하는 경우가 생기는데

해당 local branch 로 이동하여서!

git branch --set-upstream-to <원격 저장소 단축이름>/<브랜치명> 를 실행해주자!

마지막은 언제나 그랬듯이 이름바꾸기ㅎㅎ 간단하죠?

git branch -M <기존 브랜치명> <갱신할 브랜치명>

2. Branch 로 이동해보자! ⛸

branch checkout

위에서 만든 branch 에서 작업을 하기 위해서 이동해 보자!

- git checkout [name]
- git checkout -b [name] # 새로운 브랜치를 생성하고 새 브랜치로 이동
- git checkout -t [remote/branch] # 기존 원격 브랜치를 추적하는 새로운 브랜치 만들기

git checkout <name> 은 생성해둔 다른 branch로 이동한다

위에서 배운 git branch <브랜치 이름>git checkout <브랜치 이름> 을 따로 입력하는 것이 귀찮다?

그렇다면 git checkout -b <브랜치 이름> 을 사용하자!

그런데 만약에 remote에 있는 main branch 가 아닌 다른 branch를 가져오고 싶다면??

그럴 경우에는 git checkout -t origin/<branch 이름> 을 입력해준다!

이 명령어는 git checkout -b <branch 이름>git pull origin <branch 이름> 을 실행한 결과와

같은 결과를 보여준다!

그런데 잠깐!

checkout 은 branch 를 이동하는 기능만 있는 것이 아니다!!

checkout 은 파일의 체크 아웃, 커밋의 체크 아웃 기능 을 더 가지고 있다!!!

File Checkout , Commit Checkout

앞에서 Checkout이 이동하는 듯한 느낌을 줬듯이 File CheckoutCommit Checkout 또한 이동 기능을 실행한다!

git checkout <commit> <file> 의 경우

파일의 이전 버전으로 checkout. 해주는 명령이다

다음 log를 보면 현재 a.txt에는 b로 가득할 것이다. 실제로 파일을 열어보면

와 같이 B가 가득하다 하지만 여기서 git checkout 3fd65e4d600b17edfaff415881b113bc808e70ae a.txt 와 같이

Commit 해쉬 값파일 명 을 함께 입력해주면 다음과 같이 file checkout을 수행한다!

만약 여기에 파일 이름을 입력하지 않고 commit 해쉬 값만 넣는다면? git checkout <commit>

작업 디렉토리의 모든 파일을 지정한 commit과 동일한 상태로 업데이트 된다!!

3. Merge 를 통한 branch 병합

이제 각 branch 에서 작업을 마치고 branch에서의 작업이 괜찮았다면 main 으로 가져와보자!!

$ git merge <branch>

매우 간단하다! 지정한 branch를 현재 branch에 병합하는 명령이다

근데 주의해야할 점이 있다!! 바로 충돌이다!

충돌은 병합하려고하고있는 두 branch에서 동일한 부분에 변경이있는 경우,

어느 버전을 사용할 것인지를 Git 스스로 판단할 수 없기 때문에, 충돌이 일어납니다!!

이럴 경우 직접 editor를 통해서 어떤 버전을 사용할 것인지를 수동으로 해결해야 합니다!

오늘은 이렇게 branch 를 활용하는 방법에 대해서 전체적으로 알아보았다 😃

다음 시간에는 commit 기록을 활용하는 방법에 알아보도록 하자! ㅎㅎ👋🏼

profile
iOS Developer Student

0개의 댓글