1 분 소요

git 명령어

  • git init

    git라는 소프트웨어가 작업폴더를 감시를 시작함

  • git add

    작업파일을 add하여 staging area에 추가한다.

    작업폴더에 있는 모든파일을 업데이트 하기위해서는 (git add .)

  • git commit

​ staging area에 추가된 파일을 repository에 옮긴다

  • git status

    현재 깃 상태 확인(어떤 파일을 statgin 됬는지 수정됬는지 등등 상태를 알려준다)

  • git log –all –online

    commit한 내역을 볼수 있다.

  • git diff , git difftool

    최근 commit 현재파일 차이점 보여줌

  • git branch

    commit의 복사

  • gir merge

    branch된 명령들을 master, (main) 에 통합시켜준다 (똑같은 코드를 branch , main에 수정후 merge시 충)

    • 3 - way - merge

      img

      두 branch를 합치는 방식

    • fast - forward - merge

      img

      ​ master branch와 merge하려는 branch가 차이가 없을때 추가된 branch를 master branch로 바꾸는 방식

    • git branch -d [브렌치명]

      branch 삭제하는 방법 , merge하지 않는 브렌치 삭제시 git -D branch -d

  • rebase

    rebase는 브랜치의 시작점을 다른 commit으로 옮겨주는 행위입니다.

    img

​ 사용이유 : 브렌치가 많을시 git log 출력할때 복잡해보인다. 고로 rebase를 사용하여 짧거나 간단한 브렌치를 병합하기 좋음

​ 단점 : confilict 충돌이 많이 발생할수 있다는 단점이 있음

  • 일반 merge , rebase merge 차이

    • 일반 merge

      1. 중심 브렌치로 이동
      2. git merge [새로운 브랜치명] 입력
    • rebase & merge

      1. 새로운 브렌치로 이동

      2. git rebase [중심브랜치명] 입력

      3. 중심 브렌치로 이동

      4. git merge [새로운 브랜치명] 입력

  • squash and merge

    새로운 브랜치에 있던 commit 들을 연결해주는게 아니라 똑 떼와서 main 브랜치에 붙여주는것

    squash and merge : 기존 merge 명령어에 –squash 옵션을 추가

img

  • git restore [파일명]

최근 commit 된 상태로 현재 파일의 수정내역을 되돌림

  • git restore –source 커밋아이디 파일명

​ 입력한 파일이 특정 커밋아이디 시점으로 복구

  • git restore –staged 파일명

    파일을 staging 취소

  • git revert [파일명]

    커밋 했던 파일을 취소하여 취소한 내역을 새로운 commirt 으로 생성함

  • git reset [–hard, –soft, –mixed] 커밋아이디

    해당 커밋이 생성된 떄로 모두 되돌려

  • git push

​ Git Repository에 내가 작성판 파일을 올리는 것, -u옵션을 추가하면 입력한 주소를 저장하라는것

  • git remote add

​ remote add를 작성하면 추가하려는 주소를 해당 변수에 저장하여 사용할수 있음

  • git pull

​ 원격과 로컬 파일이 다를경우 push할수 없음. 고로 원격저장소와 로컬저장소를 합칠때 사용

​ pull은 git fetch + git merge 축약어 고로 conflict 발생가능

  • git stash

​ 코드를 잠깐 다른곳에 보관하는 방식 (Ex: 안쓰는 코드 주석)

​ stash pop을 하면 가장 최근에 stash한 파일을 다시 불러올수 있다.

태그:

카테고리:

업데이트: