[Github] 브랜치(branch)와 pull requests

gogori6565·2022년 8월 2일
0

Git-Github

목록 보기
6/7
post-thumbnail

협업을 할 때, main(master)에 바로 push 하는 것은 위험하다. 만약 회사의 신입이라면, 신입을 위한 branch를 따로 만들어주고 main에 넣어도 될만한 코드일 경우 main으로 상사가 넣어주는 방식으로 예를 들 수 있다.
대학생인 나도 아직은 잘 몰라서 주워들은 내용 끄적인거다

브랜치에 대해 알게된 간단한 내용을 끄적여보겠다.

브랜치(branch)

브랜치(branch)는 소프트웨어를 개발할 때, 개발자들끼리 동일한 소스코드를 공유하고 수정하는 과정에서 서로 다른 버전의 코드가 만들어질 수 밖에 없으므로 이때 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어준 기능이다!
즉, 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 독립적인 작업 영역(저장소)에서 소스코드를 각자 변경하고 나중에 원래의 버전과 비교해 하나의 새로운 버전을 만들어 낼 수 있는 것이다.

Github에 브랜치(branch) 만들기

git checkout -b 브랜치이름

브랜치 생성 시, (master) -> (new) 로 변하는 걸 볼 수 있다.

생성한 브랜치(branch)에 소스코드 업데이트

git add .
git commit -m "commit message"
git push origin 브랜치이름

기존에 하던 방식하고 다를 거 없다.
push 할 때 브랜치 이름만 제대로 넣어주면 된다.

pull requests

new 브랜치에서 소스코드를 업데이트하면 Github에 저런 메세지가 뜬다.
Compare & pull requests 를 눌러 메세지를 작성하고 pull requests를 누르면 pull 요청을 할 수 있다.
이는 main(master)에 내가 작성한 코드를 넣어달라고 요청한다고 생각하면 된다.

pull requests 를 하면 목록 란에 Pull reauests 1 이 뜬 걸 확인할 수 있다.

Merge pull request

new 브랜치에 업데이트한 소스코드를 main(master)으로 가져와보자.
목록의 Pull requests 를 들어가서 pull 하고자하는 소스코드를 확인하고 merge 를 진행한다.

Merge pull request 버튼을 누르면 pull 요청한 코드가 main(master)으로 병합된다.

성공!

원래 코드에서 new에 push한 코드로 변경됨을 확인할 수 있다.

브랜치(branch) 전환하기

git chackout <branch명>

master에서 소스코드 가져오기(pull) - 병합 시 발생할 충돌 예방

협업을 할 때, main(master)의 소스코드가 계속해서 업데이트 되는 과정에서 그 소스코드를 내 브랜치의 코드에도 동기화하지 않고 내 코드 작성만 진행한다면 두 소스코드의 버전이 아예 달라져버린다😥
그렇기에 다른 브랜치에서 늘 git pull origin master 을 통해 main(master)의 코드들을 매번 동기화해줘야한다.

git pull origin master

소스코드 버전이 다를 경우 충돌...이 발생하는데... 이건 다음에 알아보도록 하자..(끔찍)😣

profile
p(´∇`)q

0개의 댓글