본문 바로가기
프로그래밍_기타/git

[git] Branch

by wjwkddyd221001 2023. 3. 19.
  1. 버전들을 한 줄로 쭉 이었을 때, branch라고 생각하면 편함
  2. 독립적으로 어떤 작업을 진행하고 작업이 끝난 경우, 만들어진 branch를 merge해주어야 함
  3. git의 기본 branch는 master 또는 main
git branch
    - branch 목록 확인 가능
    - 앞부분에 * 붙어있는 것이 현재 선택된 branch
git branch (branch이름)
    - 새로운 branch를 (branch이름)으로 생성 
    - 이후, git checkout (branch이름)
git checkout -b (branch이름)
    - branch를 생성하고 그 branch로 checkout
    - git branch (branch이름) + git checkout (branch이름)
git branch -d (branch 이름)
    - branch 삭제
    - master에 merge하는 과정이 선행되어야 한다.

checkout

  • HEAD가 다른 branch를 가리키도록 하는 명령
  • git checkout (branch이름)
    • (branch이름)으로 HEAD가 옮겨감
git checkout (commit_id)
git checkout (branch_name)

reset

  • HEAD가 가리키는 master를 옮김
    • master가 움직이면서 master 이후의 버전은 삭제되는 결과를 가져옴
  • 원격저장소로 push한 버전은 reset하면 안 됨
  • 모드
    1. soft
      • HEAD 위치 변경
      • 커밋만 되돌아감
    2. mixed(기본)
      • HEAD 위치 변경, 인덱스 변경
    3. hard
      • HEAD 위치 변경, 인덱스 변경, 작업 트리 변경
      • 최근의 커밋을 버리고 완전히 이전의 상태로 돌아감
git reset --hard (commit_id)

merge

  1. merge : 여러 개의 branch를 하나로 모을 수 있음
  2. rebase : branch를 통합하는데 이전 커밋 내역을 변경하면서 하나의 branch만 있었던 것처럼 바뀜
    • 이전 내역이 사라지므로 주의
# master가 exp를 병합하는 경우
git checkout master
git merge exp

'프로그래밍_기타 > git' 카테고리의 다른 글

[git] cli 명령어  (0) 2023.03.19
[git] git 기본 설명  (0) 2023.03.19
git config  (0) 2022.10.11
github에 연동  (0) 2022.10.11