Git으로 협업하기3

유아현·2022년 11월 19일
0

Git & Github

목록 보기
4/12
post-thumbnail

Branch란?

  • 독립적으로 어떤 작업을 진행하기 위한 개념
  • 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능
  • 각자 독립적인 작업 영역(저장소) 안에서 마음대로 소스코드를 변경 가능
  • 분리된 작업 영역에서 변경된 내용은 나중에 원래의 버전과 비교해서 하나의 새로운 버전으로 만들어 낼 수 있다!

+ Git의 기본 브랜치는 Master이지만 GitHub에서의 기본 브랜치는 Main

+ Github 브랜치는 'Master'에서 'main'으로 이름이 변경되었다!

why?
'Black Lives Matter' 운동에 발맞춰 주종(주인과 노예)관계를 뜻하는 'master', 'slave'를 다른 단어로 대체하기 위해서 라고 한다.

+ 또한 Github의 기본 브랜치 이름을 다른 이름으로 설정도 가능하다!

https://github.com/settings/repositories

+ master보다 main을 지향하자!

git checkout

  • git Checkout의 기능
    - Branch 혹은 Commit 전환(switch)
    - 내용 되돌리기(restore)

  • [특정 Branch로 이동하기]

    git checkout {Branch Name}

  • [특정 Branch를 생성하고 해당 Branch로 이동하기]

    git checkout -b {New Branch Name}

  • [특정 Branch에서 파생 Branch로 만들어서 해당 Branch로 이동하기]

    git checkout -b {Branch Name} {Base Branch Name}

  • [모든 변경사항 취소하기]

    git checkout.
    + checkout으로 지운 내용은 commit하지 않고 지운 내용이기 때문에 다시 복구할 수 없다.

  • [특정 파일에서 작업한 내용을 삭제하기]

    git checkout-- {File Name}
    + 대상: 아직 add / commit 되지 않은 소스 (Working Directory에 있는 변경 내용)

  • [특정 Commit 버전으로 전환하기]

    git checkout {Commit Hash}
    + Commit 하지 않은 내용이 있으면 전환되지 않음.

+ 참고 사이트: https://zoosso.tistory.com/729




1. 브랜치 생성 1

Q. feat/signup 브랜치를 만들었습니다. 생성한 브랜치 목록과 내가 현재 어떤 브랜치에 있는지 확인해 봅시다.

A. git checkout -b feat/signup

2. 브랜치 목록

Q. feat/signup 브랜치를 만들었습니다. 생성한 브랜치 목록과 내가 현재 어떤 브랜치에 있는지 확인해 봅시다.

A. git branch

3. 브랜치 생성 2

Q. 기본 회원가입 기능 구현을 완료했습니다! 여기에 추가로 페이스북으로 가입하기 기능을 만들고 싶어요. 구현해놓은 기본 회원가입 기능이 망가질 수도 있으니 feat/signup-oauth 브랜치를 하나 더 만들어서 작업해 볼까요?

A. git checkout -b feat/signup-oauth

4. 브랜치 이동

Q. 소셜 회원가입 기능까지 구현을 완료했습니다! 구현한 기능을 feat/signup 브랜치에 병합하려고 합니다. 먼저 feat/signup 브랜치로 이동하세요.

A. git checkout feat/signup

5. 브랜치 병합

Q. feat/signup-oauth 브랜치의 내용을 feat/signup 브랜치로 병합하는 명령어를 입력하세요.

A. git merge feat/signup-oauth

6. push

Q. 회원가입 기능 구현이 완료된 feat/signup 브랜치를 Remote Repository로 업로드하세요.

A. git push origin feat/signup

7. 작업 임시 저장

Q. 구글 로그인 기능도 추가를 해 보려고 시도하다가 어려워서 그만두었습니다. 작업하던 코드를 잠시 다른 공간에 저장해 둘 방법이 있을까요?

A. git stash

0개의 댓글