Git2

송홍빈·2023년 3월 27일
0

깃이 관리하는 세 개의 공간

  • 작업 디렉터리 - 버젼 관리의 대상이 위치하는 공간
  • 스테이지 - 다음 버전이 될 후보가 올라가는 공간
  • 저장소 - 버전이 만들어지고 관리되는 공간

git 명령어

git status - untracked files와 tracked files 구분 지어줌.

git log - commit한 기록 보여줌.

git diff - 가장 최근 커밋과 작업 디렉터리 비교하기

git diff —staged - 최근 커밋과 스테이지 비교하기

git diff <커밋> <커밋> - <커밋>끼리 비교하기, 순서가 중요함.

git 되돌리기

만들어진 버전을 되돌리는 두 가지 방법

  • revert <취소할 커밋> - 버전을 되돌린 새로운 버전 만들기.
  • reset <되돌아갈 커밋>- 버전을 완전히 되돌리기, 시간을 되돌리는 느낌.
    • soft - commit했다는 사실만 삭제함.
    • mixed - stage와 commit했다는 사실이 삭제함.
    • hard - 내가 한 작업내역 전부를 날림.

작업 임시저장하기

git stash - 변경 사항 임시 저장하기.

git stash -m “<메시지>” - 변경 사항 <메시지>와 함께 임시 저장하기.

git stash list - 임시 저장된 작업 내역 조회하기.

git stash appy <스태시> - 입시 저장된 작업 적용하기.

git stash drop <스태시> - 임시 저장된 작업 삭제하기.

브랜치 관리하기

브랜치를 사용하는 이유: 브랜치가 없다면?

  • 서로의 작업과 전혀 관련 없는 부분, 같은 코드를 다르게 수정한 부분 혼재.
  • 일일이 수작업으로 합쳐야 함.
  • 때로는 서로의 코드를 합치다 실수가 생길 수 있다..

브랜치는 버전의 분기

브랜치로 버전의 분기를 관리하는 방법

  1. 브랜치를 나눈다.
  2. 각자의 브랜치에서 작업한다.
  3. (필요하다면) 합친다.

master 브랜치 - 최초의 브랜치

초기설정에서 master or main 중 택1.

git → master

github → main

git branch < > - 브랜치 생성

git branch - 브랜치 확인

git checkout <> - 해당 브랜치로 이동

브랜치의 이름

release

feature

hotfix

bugfix

모든지 1개는 문제가 되지 않지만 1만개는 적절한 시스템이 필요하다.

HEAD와 체크아웃

HEAD - 현재 작업 중인 브랜치의 최신 커밋을 가리킨다.

체크아웃 - HEAD의 위치를 특정 브랜치의 최신 커밋으로 옮김.

git checkout -b baz - baz 브랜치를 생성함과 동시에 checkout 해라.

git checkout 도 가능

git branch -d bar - bar 브랜치를 삭제한다.

merge(병합하다)

git merge foo - 현재 브랜치에 foo 브랜치를 병합하라.

  1. 일반 병합 - 새로운 commit을 남기고 병합한다.

  2. 빨리감기 병합(fast-forward merge)

  • 변함이 없던 브랜치가 마치 빨리감기하듯 브랜치 내용이 업데이트되는 병합 기법을 빨리감기 병합(fast-forward merge)이라고 한다.

rebase

  1. master 브랜치의 최신 commit으로 base를 옮긴다
  2. git rebase -i HEAD~숫자 - 과거의 커밋 or 여러 개의 커밋 고칠때
profile
interactive developer

0개의 댓글