Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
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
Archives
Today
Total
관리 메뉴

web sprit

[Git] branch 만드는 방법 및 설명. 본문

Front End Developer/Git(Github)

[Git] branch 만드는 방법 및 설명.

커드만 2019. 7. 11. 21:18

branch란?
간단하게 설명하자면 기존 repository(저장소)를 생성하면 master라는 branch가 생성된다.
새로운 branch를 생성하면 기존 master branch 와 별개로 영향없이 여러작업을 진행할 수 있고,
추후 작업에 대해 master branch와 안전한 merge를 위함입니다.

Github에 repository(저장소)를 만들었다면
master branch를 제외한 다른 branch를 만들어 봅시다.

1. branch 만드는 방법.

$git branch [branch 이름]


2. branch 목록 확인 방법.

$ git branch

위 명령어를 실행하면 다음과 같은 내용을 확인할 수 있습니다.

  new_area
* master

new_area는 제가 새로 만든 branch 이고 *은 현재 HEAD 부분(내가 위치한 branch) 입니다.


3. 새로만든 branch 선택하기.
제가 방금 만든 branch인 new_area에 위치하려면 checkout 명령을 아래와 같이 실행해야 합니다.

$ git checkout [만든 branch명]

ex)
$ git checkout new_area

위의 명령어를 실행 후 git branch로 목록을 확인하면 다음과 같이 HEAD 위치가 변경된것을 확인할 수 있습니다.

* new_area
  master

** branch를 만들고 바로 checkout 해주는 -b 옵션을 이용하면 더 빠릅니다.

$ git checkout -b new_area



4. Local branch를 remote(원격 : Github) branch에 적용하기.
branch를 만들었다고 remote(원격) 영역에 바로 적용되는 것이 아닙니다.
적용을 위해서는 push를 해야합니다.

$ git push origin [branch 명]

ex)
$ git push origin new_area

뒤에 origin new_area 를 써야 하는 부분은 정말 귀찮은것 같습니다.
-u 옵션 또는 --set-upstream 옵션을 사용하여 한번 선언하면 다음에는 git push 또는 git pull 만 작성하면 됩니다.
그리고 -u 옵션은 --set-upstream 옵션의 짧은 표현입니다. branch를 추척하도록 설정하는 옵션 입니다.

$ git push --set-upstream origin new_area
or
$ git push -u origin new_area



5. branch 삭제하기.
삭제할 branch로 checkout 하여 이동한 다음 다음과 같은 명령어를 입력해 줍니다.

$ git branch --delete new_area
or
$ git branch -d new_area

하지만 작업한 사항이나 병합되어 있지 않은 commit이 있는 경우,
해당 명령어로 삭제되지 않을 경우가 있습니다.
이런경우 대문자 옵션 -D 옵션으로 해결할 수 있습니다.

$ git branch -D new_area


위 방법은 Local branch를 삭제하는 것이고, 
remote branch를 삭제하는 방법은 다음과 같습니다.

$ git push origin :[삭제할 branch 명]

ex)
$ git push origin :new_area



6. branch merge(병합)하기.
병합을 할 branch로 checkout 하여 이동하여 다음과 같은 명령어를 실행해 줍니다.

----> master로 이동 후.
$ git merge [master에 병합할 branch명]

ex)
$ git merge new_area


branch에 대해 알아본 내용을 정리하였고 다른 내용을 확인하면 조금씩 업데이트 하겠습니다.
추가적인 궁금한 사항이나 도움이 될만한 내용이 있다면 덧글 부탁드립니다.

감사합니다.

Comments