Branch 실습

전수·2022년 9월 15일

GIT

목록 보기
2/5

Branch

분기점을 생성하여 독립적으로 코드를 변경할 수 있도록 도와주는 모델

SpiderMan 배우들로 Branch Merge 실습

Github

  • New Repository Spiderman 생성
    - README.md / LICENSE 설정

GitBash

git clone 하여 Spiderman.md 파일 생성 및 작성

$ git clone (repo_address)
$ ls
$ touch Spiderman.md
$ vi Spiderman.md
# {Movie name}
- Year :
- Name :

main branch의 Spiderman.md commit

$ git add Spiderman.md
$ git status
$ git commit

TobeyMaguire branch 생성 후 Spiderman.md 편집

$ git branch 				##현재 branch 확인
$ git branch TobeyMaguire	##branch 생성
$ git switch TobeyMaguire	##branch 전환
$ vi Spiderman.md			
# Spider-Man 1
- Year : 2002
- Name : Peter Benjamin Parker

# Spider-Man 2
- Year : 2004
- Name : Peter Benjamin Parker

# Spider-Man 3
- Year : 2007
- Name : Peter Benjamin Parker

TobeyMaguire branch의 Spiderman.md commit

$ cat Spiderman.md		##작성 내용 확인
$ git add Spiderman.md
$ git status
$ git commit

AndrewGarfield branch 생성 후 Spiderman.md 편집

git switch main 			##branch 생성은 main에서
git branch
git branch AndrewGarfield
git switch AndrewGarfield
git branch
vi Spiderman.md
# Amazing Spider-Man 1
- Year : 2012
- Name : Peter Benjamin Parker
# Amazing Spider-Man 2
- Year : 2014
- Name : Peter Benjamin Parker

AndrewGarfield branch의 Spiderman.md commit

$ cat Spiderman.md		##작성 내용 확인
$ git add Spiderman.md
$ git status
$ git commit

Tom_Holland branch 생성 후 Spiderman.md 편집

git switch main 			##branch 생성은 main에서
git branch
git branch Tom_Holland
git switch Tom_Holland
git branch
vi Spiderman.md
# Captain America : Civil War
- Year : 2016
- Name : Peter Benjamin Parker
# Spider-Man : Home Coming
- Year : 2017
- Name : Peter Benjamin Parker
# Avengers : Infinity war
- Year : 2018
- Name : Peter Benjamin Parker
# Avengers : Endgame
- Year : 2019
- Name : Peter Benjamin Parker
# Spider-Man : Far From Home
- Year : 2019
- Name : Peter Benjamin Parker

Tom_Holland branch의 Spiderman.md commit

$ cat Spiderman.md		##작성 내용 확인
$ git add Spiderman.md
$ git status
$ git commit

main branch와 TobeyMaguire branch Merge

$ git switch main		##merge는 main branch에서 진행
$ git branch
$ git merge TobeyMaguire

main branch와 TobeyMaguire branch는 conflict이 발생하지 않음


main branch와 AndrewGarfield branch Merge

$ git branch				##현재 main branch에 위치하는지 확인
$ git merge AndrewGarfield	##main과 AndrewGarfield 내의 conflict 발생
$ vi Spiderman.md			
$ git add Spiderman.md		##merge에 대한 commit
$ git commit

branch merge 시, 같은 라인에 대해 모두 변경사항이 존재할 경우 conflict가 발생하며 해당 파일을 열어 내용을 수정한 후 commit하면 해결할 수 있다.


main branch와 Tom_Holland branch Merge

$ git branch			
$ git merge Tom_Holland	
$ vi Spiderman.md			
$ git add Spiderman.md
$ git commit
$ git push origin main

사용 완료한 branch 삭제

$ git branch	##현재 main에 위치하는지 확인
$ git branch -D TobeyMaguire
$ git branch -D AndrewGarfield
$ git branch -D Tom_Holland
$ git branch

📌실습 결과 Spiderman_Branch

0개의 댓글