[Sourcetree/Github] 브랜치, 커밋, 푸시, 풀, 병합

단코딩·2024년 4월 23일

웹 개발 프로젝트

목록 보기
2/7

Sourcetree의 기본적인 기능에 대해 알아보자.

0. 브랜치 (Branch)
: 협업을 위해 버전 관리 시스템에선 브랜치라는 기능을 제공하는데 기존 마스터 소스코드를 복제하여 각 작업자만의 작업 환경을 만들어준다. 쉽게 말하면 평행세계처럼 병렬로 같은 프로젝트를 작업할 수 있는 환경을 만들어주는 것이다. 버전 관리 시스템 사용자들은 어떠한 브랜치라도 다른 브랜치로 분기시킬 수 있다.

1. 커밋 (Commit)
: 변경된 소스코드의 "그 상태"를 저장해 준다. 사소한 변경이라도 커밋을 습관화해두면 언제라도 "이전 상태"로 되돌아갈 수 있기때문에 버전 관리에서 가장 중요한 기능이되겠다.
※푸시를 안하면 로컬 저장소에만 저장됨! 

2. 푸시 (Push)
: 로컬 저장소 → 원격 저장소로 커밋된 내용이 올라감! 

3. 풀 (Pull)
: 원격 저장소에 저장된 내용 → 로컬 저장소 로 내려받아짐!

4. 병합 
: 다른 브랜치와 현재 브랜치를 병합하는 기능 


 0. 브랜치

현재 우리 팀플의 원격 저장소의 브랜치들이다.

새로운 브랜치를 만드려면 두가지 방법이 있다.

  • Github에서 'New branch'로 새로운 브랜치를 만드는 방법
    • 만든 후 소스트리에서는 원격 저장소를 새로고침하여 Pull해주어야한다.
  • Sourcetree에서 '브랜치'를 눌러 새 브랜치를 만드는 방법
    • 만든 후 Push를 통해 원격 저장소(Github)에 올려주는 작업이 필요함.

1. 커밋

프로젝트에 변경사항이 생긴 파일이 스테이지에 올라가지 않은 파일이라고 나오는데 

커밋할 내용의 파일을 스테이지에 올린 후 

변경내용에 대한 간단한 메모를 남기고, 

원격 저장소에 즉시 push 할 것인지를 체크하고 '커밋' 버튼을 누르면 된다.

만약 원격 저장소에 즉시 push를 체크해제를 한 후 커밋을 하게 되면 push를 하기 전 까지 그 커밋은 로컬 저장소에만 존재하게된다.

2. 푸시 (push)

위에서 즉시 푸시를 하였기때문에 로컬 저장소(kdb)원격 저장소(origin/kdb)의 상태가 모두 갱신된 모습이다. 

체크를 해제하고 커밋을 했다면 원격 저장소(origin/kdb)의 태그 위치는 Push하기 전까지는 아래 커밋에 있을 것이다. 이때, push를 해주면 위 그림과 같은 상태가 된다. 

푸시할 새로운 커밋이 있다면 변경사항이 있음을 알리는 뱃지가 생기게 되고


!!푸시할 브랜치만 선택후!! 푸시를 진행하면 된다.

다른 작업자의 브랜치에 푸시하게되면 참사니 꼭 확인하자

3. 풀(pull)

가져오려는 장소(로컬 저장소) 위치를 확인해 주고

가져오기 위한 원격 브랜치를 선택하여 pull해주면 된다.

4. 병합

※ 마스터 브랜치로의 병합은 주의가 필요함! 

이제 kdb 브랜치에서 작업한 내용을 master 브랜치병합하고자한다. 

이때 작업 브랜치를 master로 바꾸어 주고 병합을 눌러주면 

병합할 커밋을 선택 한 후 '확인'을 누르게 되면 마스터 브랜치(로컬)**** 에 병합이 된다.

이제 마스터 브랜치(원격)에도 이 내용을 적용하고 싶다면 2. push를 하여 적용시키면 된다.

profile
내가 바란 건 한 개 뿐이야

0개의 댓글