Dev-dotoli TIL

Github 2 명령어




Git 명령어


- git init :

  • git 저장소 초기화. (initialize:초기화)
  • 일반 디렉토리를 로컬 깃 저장소로 등록



- git clone :

  • git 원격 저장소로부터 프로젝트(파일) 복제. (clone:복제)
  • 저장소를 clone 하면 ‘origin’ 이라는 리모트 저장소가 자동으로 등록



- git remote :

  • 현재 프로젝트에 등록된 리모트 저장소를 확인
  • -v 옵션으로 단축이름, URL을 함께 확인가능



- git config :

  • git 사용환경 설정, 확인, 변경 (config:구성)



- git status :

  • 파일 상태 확인
  • working directory와 staging area(대기 장소)의 상태 확인



- git add :

  • 작업한 디렉토리 상의 변경 내용을 staging area에 추가
  • git add <파일/디렉토리 경로> : 일부만 add
  • git add . : 현재 디렉토리의 모든 변경내용 add
  • git add -A : 작업 디렉토리상 어디에 위치하든 항상동일하게 모든 변경내용 add
  • git add -p : 각 변경사항을 터미널에서 직접 눈으로 확인하며 add 또는 제외



- git commit -m”commit message” :

  • 파일, 폴더의 추가, 변경 사항을 저장소에 메세지로 기록
  • 인덱스(staging area)에 등록되어 있는 파일 상태를 기록
  • git commit –amend -m “바꿀 message” : 마지막 commit message수정

- git commit –amend :

  • push하지 않은 commit 수정하기
  • VIM 형식으로 수정 i : insert 수정 esc - wq : write & quit



- git push <저장소명> <브랜치명> :

  • 로컬 저장소의 하일 변경 이력을 원격 저장소로 전송
  • -u 옵션을 사용하면 최초 한 번만 저장소명과 브랜치명을 입력하고 이후 생략 가능



- git pull :

  • 원격 저장소로부터 변경된 내용을 가져온 후 병합(merge)
  • pull = fetch(가져오다, 데려오다) + merge(병합, 융합)



- git fetch :

  • 원격 저장소로부터 변경된 내용을 가져옴 (병합x)
  • 변경된 내용을 가져오고 검토 후에 merge 할 수 있어서 충돌 방지 가능



- git merge :

  • 브랜치를 병합
  • 협업 과정에서 같은 이름의 파일 안에 수정한 부분이 겹칠 때 confilt(충돌)이 발생할 수 있음



- git branch <브랜치명> :

  • 브랜치 생성
  • master 브랜치에서 <브랜치명> 이라는 브랜치를 생성



- git checkout <브랜치명> :

  • 현재 master 브랜치에서 <브랜치명>으로 이동
  • b 옵션을 사용하면 생성과 checkout을 동시에



- git rebase :

  • 브랜치를 병합
  • merge와 같은 기능이지만,
  • merge의 경우 병합 할 브랜치에서 기록한 commit이 모두 master의 commit으로 기록됨
  • rebase는 작업중 남겼던 commit에서 불필요한 것 들을 생략하고 필요한 것 만 남겨 master 병합 가능
  • -i (interactive) : 옵션을 사용하면 중간에 낀 commit message수정 가능



- push 되지 않은 commit 확인

    git log --branches --not --remotes
    --branches 는 ref/heads 에 있는 모든 commit을 보여주는 옵션
    --not 이 붙어 remote(원격)에 없는 모든 커밋이 출력(push 되지 않은)



References

git에서 push하지않은 커밋 확인
git push 사용법/팁
브랜치 생성과 체크아웃
git 명령어 모음
git rebase 하는법