자주사용하는 git 명령어 모음

mangojang·2021년 12월 27일
0
post-thumbnail

✍️ 자주 사용하는 git 명령어 위주로 정리 해보았다. 필요할 때 하나씩 꺼내 먹어야지

  1. git init

    • git 처음 시작할 때 초기 저장소 생성
    git init
  2. git config

    • 줄바꿈 설정 macOS
      git config --global core.autocrlf input
      Windows
      git config --global core.autocrlf tr
    • 사용자 정보 설정 . 일종의 로그인
    • —list : 현재 설정된 config 확인
      • 종료 : q 입력

        git config --global user.email "abcd@gmail.com"
        git config --global user.name "abcd"
        git config --list
    • default 브랜치명 설정
      git config --global init.defaultBranch 브랜치
  3. git status

    • 폴더나 파일의 상태를 표시함.
    • 빨간색으로 표시, git이 관리하지 않는 파일이라는 뜻 - unstaged files
    • 초록색으로 표시, git이 관리하는 파일 - staged files
    • 보안에 위협이 되는 파일은 git에서 관리하진 않는다.
    git status

    ☝️.gitignore

    • git에서 관리하지 않는 파일을 관리하는 파일
    • git이 무시해야하는 파일이나 폴더 명을 기입.
    • 경로는 절대경로, 앞에 '/'는 붙이지 않는다.

    ☝️한글깨짐 현상 해결 코드

    git config --global --edit
    • 위의 명령어 실행 후 vin editor 상태가 되면 core> quotepath 를 false 로 바꿈
    • esc + :wq 입력후 빠져나옴.
    • 위의 과정 을 한번에 실행하는 명령어
      git config --global core.quotepath=false햐
  4. git add

    • 변경된 파일들을 stage에 올림.
    • . : 모든 파일 기준 변경 사항 추적하여 stage에 올림.
    git add .
  1. git commit

    • 커밋 메시지는 최대한 자세하게
    • -m 뒤에는 commit 타이틀(메시지)을 기입한다.
      git commit -m "커밋 메시지" 
      • am add+message, unstaged 된 모든 파일을 staged 로 올려주고 commit 함.

        git commit -am "커밋 메시지"
    • unstaged된 것 중 부분만 staged 할 때
      git commit 파일명1 파일명2 -m "커밋메시지"
  2. git log

    • commit 들을 확인할 수 있음.
    • git log는 자세하게, git short log는 짧게
    • esc + :q 입력시 vi 에디터를 나갈 수 있음.
    git log
    git short log
  3. git checkout

    • 커밋 이동
      1. HEAD~숫자 : 현재 commit 으로 부터 숫자만큼 과거로
      2. git checkout 커밋아이디 : 돌아가고 싶은 특정 커밋 아이디 입력하면 그곳으로 돌아감
    • branch를 갈아탈때 사용
    git checkout HEAD~숫자
    git checkout 커밋아이디
    git checkout 브랜치명
    • -t (= —track) : branch를 트래킹 한다. github에는 있지만 로컬 에는 없는 branch 로 이동 할 때 사용
      • git branch -r 으로 브랜치명 확인 후 명령어 사용

        git checkout -t origin/siginin
    • -b : 브랜치 생성과 동시에 이동
      git checkout -b siginin
  4. git diff

    • 바뀐 부분을 알수 있음.
    git diff

    ☝️powershell 한글 깨짐 현상 해결 코드

    set LC_ALL=ko_KR.UTF-8
  5. git remote

    • 기존 repository remote 제거
      • git remote 변경 : 기존 remote 제거 → 새 깃헙주소 remote 추

        git remote remove origin
    • origin (로컬) 경로를 깃헙주소로 설정
    git remote add origin 깃헙주소 
    • 연결된 깃헙 주소 알고 싶을때 사용.
    git remote get-url origin
  6. git push

    • origin(로컬)을 깃헙(master)으로 업로드
    git push origin master
  7. git pull

    • 깃헙(master)에서 로컬(origin)로 가져오기
    git pull origin master
  8. git reset

    • 커밋을 이전 커밋으로 되돌리는 명령어
    • 커밋을 깃헙에 푸쉬하기 전에 내 작업에서 되돌릴때 사용.
    • git reset HEAD : 현재 commit 위치 알고 싶을 때
    • git reset HEAD ~1 : HEAD 를 기준 으로 1 단계 전
    • —soft : 뒤로 돌리는데 수정된 파일이 staged 된 상태로 돌아감.
    • —mixed : 뒤로 돌리는데 수정된 파일이 unstaged 된 상태로 돌아감.
    • —hard : 뒤로 돌린는데 수정된 부분 다 날리고 완전 이전 커밋 상태로 돌아감.
    • id 7자리 : 커밋 마다 id값이 존재함. 앞에 7자리 입력하면 해당 커밋으로 돌아감.
    • ORIG_HEAD: 잘 못 되돌렸을 경우, 다시 되돌리기 전 상태로 돌아감.
      • 다음 명령어를 입력하기 전 까지만 사용 가능.
    git reset HEAD
    git reset HEAD~돌아가고싶은 단계 수
    git reset HEAD~1 --soft
    git reset HEAD~1 --mixed
    git reset HEAD~1 --hard
    git reset id7자리  
    git reset --hard ORIG_HEAD
  9. git revert

    • 현재 커밋 상태에서 이전 커밋 상태로 되돋리는 명령어 .
    • 되돌리는 것 까지 커밋으로 추가됨.
    • 커밋을 깃헙에 푸쉬 하고 나서 되돌릴때 사용.
    • 협업시, 실수커밋을 공통 브랜치에 푸쉬 하였을때, 실수를 되돌리고자 할 때 revert 사용. ( reset을 사용하면 다른 팀원들과 커밋 상태가 꼬일 수 있음. )
    git revert HEAD
    git revert HEAD~돌아가고싶은 단계 수
    git revert id7자리  
  10. git branch

    • master 는 배포용 결과물
    • branch를 추가해서 기능 추가 실현 후, master로 합침.
    • 작업 시작시 가장 먼저 할것
      1. branch 확인

        git branch
      2. master branch pull

        git pull origin master
    • git branch : branch 확인 명령어
    • -d : 브랜치 지울때 사용 옵션
    git branch
    git branch 추가할 브랜치명
    git branch -d 브랜치명
    • -r : 모든 branch (github에는 있지만 local에는 없는 branch 포함) 를 볼 수 있는 옵션
      • git checkout -t 브랜치명 사용 전 확인 할 때 사용.

        git branch -r 
    • -m A B: move, 브랜치 A를 브랜치 B로 이동 해서 진행 하겠다. 브랜치명 변경 할 때 사용 하는 옵션
      git branch -m master main
  11. git merge

    • branch 를 합칠때 사용.
    • branch를 합치고 나서도 branch 의 흔적이 남음.
    • master 에다가 development라는 branch를 합친다고 하면, branch를 master로 이동 → git merge development 를 입력한다.
    git merge 합치려는 브랜치명
  12. git rebase

    • branch를 합칠 때 사용.
    • branch를 합치고 나면 branch 의 흔적이 남지 않음. 한 줄이 됨.
    • rebase 하다가 conflict 일어나면 conflict 난 부분 수정 하고 커밋 후 —continue 입력
    • rebase 하다가 confilict 일어났는데, rebase 를 중단 하고 싶다면 — abort 입력.
    git rebase 합치려는 브랜치명
    git rebase --continue
    git rebase --abort
  13. git cherry-pick

    • 다른 브랜치의 커밋을 내가 작업하는 브랜치에 가져올때 사용.
    • cherry-pick 하다가 conflict 일어나면 conflict 난 부분 수정하고 커밋 후 — continue 입력
    • cherry-pick하다가 confilict 일어났는데, rebase 를 중단 하고 싶다면 — abort 입력.
    git cherry-pick 가져올 커밋 아이디 
    git cherry-pick --continue
    git cherry-pick --abor
  14. git tag

    • 커밋에 아이디 대신에 불릴 태그를 붙일때 사용.
    • 아이디 입력 대신에 태그를 입력해도 똑같이 작용함.
    • 중요한 커밋에 표시를 함.
    • 태그 붙일 커밋으로 이동후(git checkout) 명령어 시전
    git tag  태그명
  15. git stash

    • 다른 branch로 가고 싶은데 현재 작업하던것은 커밋하고 싶지 않을때 사용.
    • a 브랜치 stash를 b브랜치로 가져올수도 있음. ( ex) dev 브랜치에서 작업 했어야 했는데, 실수로 master 브랜치에서 작업 했다면 stash 로 저장하고 브랜치 이동 후 stash apply 한다. )
    • list : stash 목록확인. stash 가 잘 들어갔는지 확인할 때
    • apply : 저장해둔 stash (작업물) 가 적용됨.
    • pop: 저장해둔 stash가 적용되고, 지워짐.
    • drop : stash 지우기
    git stash
    git stash list
    git stash apply
    git stash pop 
    git stash drop
  16. git fetch

    • pull 이 받아오기 + merge 라면 fetch는 받아오기만 함.
    • 깃헙 파일이랑, 내가 작업하고 있는 파일이랑 비교 할 때 사용.
    • 확인후 merge 하고 싶으면, git merge를 실행한다.
    git fetc
  17. git rm -r —cached .

    • gitignore 대상인데 github에 이미 올라간 파일이나 폴더들을 git 에서 제거 하고자 할 때 사용
    • rm : remove
    • -r : 재귀 , 폴더 안의 폴더 그 안의 파일~
    • . : 모든 파일
    • 명령어 적용 후, 새롭게 커밋하여 push 하면 github에 폴더들이 삭제됨.
      (but, 이전 commit에 내용은 존재함. ⚠️보안 관련 파일은 절대 올리지 않게 조심)

참고 문헌

profile
한 걸음 한 걸음 계속 걷는 자가 일류다

0개의 댓글