Development Study/Background Knowledges

[Git] 명령어 정리

  • -
728x90

1. 설정, 초기화

  • 전역 사용자 이름, 이메일 구성
    • git config --global user.name "이름 입력"
    • git config --global user.email "이메일 입력"
  • 저장소별 사용자 이름, 이메일 구성(입력 전에 해당 저장소 디렉토리로 이동해야 함)
    • git config user.name "이름 입력"
    • git config user.email "이메일 입력"
  • 전역 설정 보기
    • git config --global --list
  • 저장소별 설정 보기
    • git config --global --list
  • Git의 출력결과 색상 활성화하기
    • git config --global color.ui "auto"
  • 새로운 저장소 초기화하기
    • 1) mkdir /path/newDir                       mkdir = make directory
    • 2) cd /path/newDir                            cd | .. = 선택 폴더 내부로 이동 / 상위 폴더로 이동
    • 3) git init
  • 저장소 복제하기
    • git clone <저장소 url>
  • 새로운 원격 저장소 추가하기
    • git remote add <원격 저장소> <저장소 url>

2. 기초 사용법

[ ] 내부의 코드는 선택적으로 사용하는 매개변수를 의미한다

  • 새로운 파일을 추가하거나 존재하는 파일 스테이징하고 커밋하기
  • 스테이징 = git add로 커밋할 내용들을 추가하는 것
  • 커밋 =  git에 반영하는 것
    • git add <파일/디렉토리 경로> ---------------변경된 일부만 스테이징
    • git add . ----------------------------------모든 변경내용을 스테이징(현재 디렉토리)
    • git add -A --------------------------------모든 변경내용을 스테이징(작업 디렉토리)
    • git add -p [<파일>[<파일>[...]]] ------------각 변경사항을 터미널에서 직접 확인하며 스테이징 or 제외
    • git add -i ---------------------------------add 명령에서 git 대화 모드를 사용하여 파일 추가
    • git add -u [<경로>[<경로>]] ---------------수정되고 추적되는 파일의 변경 사항 스테이징
    • git add -m "<메세지>" -a -------------------------------수정되고 추적되는 모든 파일의 변경 사항 커밋하기
    • git checkout HEAD <파일>[<파일>] --------작업 트리의 변경 사항 돌려놓기
    • git reset HEAD <파일>[<파일>] ------------커밋되지 않고 스테이징된 변경 사항 재설정하기
    • git commit -m "<메세지>" --amend -------마지막 커밋 고치기
    • git commit -C HEAD --amend ------------이전 커밋을 수정하고 커밋 메세지를 재사용하기

3. 브랜치

  • git branch -----------------------------------------로컬 브랜치 목록 보기
  • git branch -r ---------------------------------------원격 브랜치 목록 보기
  • git branch -a ---------------------------------------로컬과 원격 등 모든 브랜치 목록 보기
  • git branch <새로운 브랜치> --------------------------현재 브랜치에서 새로운 브랜치 생성하기
  • git checkout <브랜치> ------------------------------다른 브랜치 체크아웃하기
  • git checkout -b <새로운 브랜치> ---------------------현재 브랜치에서 새로운 브랜치 생성하고 체크아웃 하기
  • git branch <새로운 브랜치> <브랜치를 생성할 위치> -----다른 시작지접에서 브랜치 생성하기
  • git branch -f <기존 브랜치> [<브랜치를 생성할 위치>] ---기존의 브랜치를 새로운 브랜치로 덮어쓰기
  • git checkout -m <기존 브랜치> <새로운 브랜치> --------브랜치를 옮기거나 브랜치명 변경하기(<새로운 브랜치> 미존재 시)
  • git checkout -M <기존 브랜치> <새로운 브랜치> --------무조건 덮어쓰기
  • git merge <브랜치> ----------------------------------다른 브랜치를 현재 브랜치로 합치기
  • git merge - -no-commit <브랜치> --------------------커밋하지 않고 합치기
  • git cherry-pick <커밋명> -----------------------------선택하여 합치기
  • git cherry-pick -n <커밋명> --------------------------커밋하지 않고 선택하여 합치기
  • git merge - -squash <브랜치> ------------------------브랜치의 이력을 다른 브랜치에 합치기
  • git branch -d <삭제할 브랜치> -------------------------브랜치 삭제하기
  • git branch -D <삭제할 브랜치> -------------------------삭제할 브랜치가 합쳐지지 않아도 삭제하기

4. Git Log

  • git log --------------------------모든 로그
  • git log -p -----------------------변경사항 + 로그
  • git log -1 -----------------------로그 개수 1개로 제한
  • gir log -20 ---------------------로그 개수 20개로 제한
  • git log --since="6 hours" ------6시간 내에 이루어진 커밋 로그
  • git log --before="2 days" ------2일 이내의 커밋 로그
  • git log -1 HEAD-3 --------------HEAD보다 세 개 이전의 커밋 로그
  • git log -1 HEAD^^^
  • git log -1 HEAD~1^^
  • git log <시작 지점>...<끝 지점> ---두 지점 사이의 커밋 로그
  • git log --pretty=oneline --------각 항목 로그 이력 한줄씩
  • git log --stat -------------------각 항목 별 영향받은 줄 통계
  • git log --name-status ----------커밋 할 시점의 파일 상태
  • git diff -------------------------현재 작업 트리와 인덱스의 차이점
  • git diff --cached ---------------인덱스와 저장소의 차이점
  • git diff HEAD -------------------작업 트리와 저장소의 차이점
  • git diff <시작 지점> --------------작업 트리와 특정 위치 간의 차이점, 시작지점은 커밋명 or 브랜치명 or 태그명
  • git diff <시작 지점> <끝 지점> -----저장소의 두 지점 사이의 차이점
  • git diff <시작 지점> [<끝 지점>] ---차이점 통계
  • git blame <파일> ----------------파일의 커밋 정보 줄 단위로
  • git blame -M <파일> -------------파일의 줄 단위의 복사, 붙여넣기, 이동 정보
  • git blame -C -C <파일> ----------파일의 줄 단위의 이동, 원본 파일 정보
  • git log -C -C -p -1 <특정 지점> ---로그에서 복사, 붙여넣기 정보

5. 원격 저장소

  • git clone <저장소> --------------------------저장소 복제
  • git clone --depth 200 <저장소> -------------마지막 200개의 커밋만 포함한 저장소 복제
  • git remote add <원격 저장소> <저장소 url> ----새로운 원격 저장소 추가
  • git branch -r --------------------------------모든 원격 브랜치 목록
  • git branch <새로운 브랜치> <원격 브랜치> ------원격브랜치에서 지역 브랜치 생성
  • git branch <새로운 브랜치> <원격 태그> --------원격 태그에서 지역 브랜치 생성
  • git fetch -------------------------------------origin 저장소에서 합치지 않고 지역 브랜치로 변경 사항 가져오기
  • git fetch <원격 저장소> ------------------------원격 저장소에서 합치지 않고 지역 브랜치로 변경 사항 가져오기
  • git pull <원격 저장소> -------------------------원격 저장소에서 변경 사항을 가져와 현재 브랜치에 합치기
  • git pull ---------------------------------------지역 브랜치를 원격 브랜치에 푸싱
  • git remote prune <원격 저장소> ----------------원격 저장소에서 쓸모가 없어진 원격 브랜치 제거
  • git remote rm <원격 저장소> -------------------원격 저장소를 제거하고 관련된 브랜치도 제거

End

 

 

참고 자료

더보기
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.