[Git] Git 명령어 (2)

ji_silver·2020년 9월 13일
0
post-thumbnail

1. 한글 처리와 git reset

1) 한글 처리

  • 터미널에서 한글이 깨질 때: set LC_ALL=ko_KR.UTF-8 명령
  • git status에서 한글이 깨질 때: git config --global --edit 명령 후 [core]에 quotepath = false 추가해주기

2) git reset

실수로 커밋된 걸 되돌리기

  • git reset HEAD~1: HEAD는 현재 위치. 현재 위치에서 한 단계 전으로 내려가기 (커밋 자체가 사라져버림)

    뒤에 --soft, --mixed(기본), --hard 옵션을 붙여 어떤 단계로 돌아갈지 직접 설정 가능

2. git revert, git branch

  • git revert: reset은 기록없이 전 단계로 돌아가지만 revert는 되돌아가되 commit 기록이 남음 (협업 시 사용)
  • git branch: 같은 코드에 각자 서로 다른 작업을 할 수 있게 복사본을 만들고 나중에 하나로 합칠 수 있음. 브랜치 생성 후 git checkout으로 원하는 브랜치로 이동

3. git merge, git rebase

  • git merge: master 브랜치와 다른 브랜치를 합치는 것. (같은줄의 내용을 동시에 수정했다면 충돌이 일어나기 때문에 그 부분을 하나로 합쳐주기)
  • git rebase: merge로 병합시키면 commit된 줄기가 생기고, rebase는 필요없는 commit은 생략하여 하나의 줄기만 있기 때문에 깔끔하다는 장점이 있음

4. git cherry-pick과 기타 명령어

  • git cherry-pick: 여러 commit을 선택적으로 가져오기
  • git tag: 커밋을 참조하기 위해 아이디 대신 이름을 붙이는 것
  • git stash: commit 하지 않고 하던 작업 임시저장 (다시 가져올 때 git stash apply)
  • git fetch: pull처럼 원격저장소에서 파일을 가져오지만 병합은 안 되어있기 때문에 merge 해줘야 함

5. git flow 전략

TIP
initial commit 하나 만들고 바로 여러 기능들의 branch들을 만들어 commit이 쌓이면 하나로 합쳐주기 (이때 충돌이 나면 거기서 해결해주기) 올바른 commit이 되었을 때 master로 옮기기

branch는 충돌이 많이 나기 때문에 전략을 잘 짜기!

profile
🚧개발중🚧

0개의 댓글