[Git] 명령어 정리

2022. 12. 31. 12:00·Development Study/Background Knowledges
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

 

 

참고 자료

더보기

https://medium.com/@joongwon/git-git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC-c25b421ecdbd

 

[Git] Git 명령어 정리

한동안 포스팅 주제도 못 잡았고 회사일이 너무 바빠서 블로그 엄두도 못 내다가 추석 연휴 때 고향에 내려가서 휴식을 취하며 독서도 하고 포스팅도 하려고 했지만.. 그것도 여의치 않았다. 대

medium.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=occidere&logNo=220815786952

 

1. 리눅스 기초 명령어(cd, mkdir, ls, pwd, clear)

이번에는 아주 빈번히 사용되는 기초 명령어인 cd와 mkdir, ls와 pwd에 대해 알아보겠다. cd는 윈도우 cmd...

blog.naver.com

https://ebbnflow.tistory.com/196

 

[Git] git 사용법 튜토리얼1 - 초기화, 스테이징, 커밋, 되돌리기

git 사용법 튜토리얼 시리즈 1 초기화, 스테이징, 커밋, 되돌리기 2 깃 브랜치(branch) 같은 파일로 여러 버전 만들기 3 깃허브와 연동하기 4 브랜치 원격에서 다루기 5 PR (Pull Request) & Issue 6 오픈 소스

ebbnflow.tistory.com

https://www.daleseo.com/git-add/

 

git add 기본 개념/사용법

Engineering Blog by Dale Seo

www.daleseo.com

https://www.daleseo.com/git-push/

 

git push 사용법/팁

Engineering Blog by Dale Seo

www.daleseo.com

728x90
저작자표시 비영리 변경금지 (새창열림)

'Development Study > Background Knowledges' 카테고리의 다른 글

[API] Essential programming system, API  (0) 2023.01.06
[Git] Git은 뭐하는 친구일까  (1) 2023.01.03
[IntelliJ] build.gradle 뜯어보기  (0) 2022.11.26
[IntelliJ] Gradle 프로젝트 실행 속도 높이기  (0) 2022.11.25
[IntelliJ] Windows에서 Preference 여는 법  (0) 2022.11.24
'Development Study/Background Knowledges' 카테고리의 다른 글
  • [API] Essential programming system, API
  • [Git] Git은 뭐하는 친구일까
  • [IntelliJ] build.gradle 뜯어보기
  • [IntelliJ] Gradle 프로젝트 실행 속도 높이기
ThreeLight
ThreeLight
ThreeLight Studio의 블로그, TimeMap.exe에 오신 것을 환영합니다.
  • ThreeLight
    TimeMap.exe
    ThreeLight
  • 전체
    오늘
    어제
    • 분류 전체보기 (245)
      • Checkpoint (1)
      • (3D)Dev Deep Dive (0)
        • Templates & Guides (9)
        • Frontend origin (9)
        • Backend origin (1)
        • TroubleShootings (4)
      • Development Study (95)
        • Frontend (36)
        • Backend (21)
        • CS(Computer Science) (2)
        • Background Knowledges (11)
        • Algorithm (2)
        • Mobile (3)
        • AWS (6)
        • Python (6)
        • MSW(MapleStoryWorlds) (8)
      • Coding Test (59)
        • 문제.zip (1)
        • BaekJoon_JavaScript (0)
        • Programmers_JavaScript (9)
        • BaekJoon_Python (23)
        • Programmers_Python (10)
        • Undefined_Python (3)
        • Programmers_SQL (13)
      • 활동내역.zip (43)
        • 개인 (21)
        • Techeer (12)
        • Bootcamp (7)
        • Hackathon (1)
        • TeamProjects (2)
      • 여기 괜찮네??(사이트 | App) (5)
      • 재미있는 주제들 (8)
      • 개발 외 공부 저장소 (11)
        • 생산운영관리 (3)
        • 생활속의금융 (6)
        • 경영정보시스템 (2)
  • 링크

    • TimeMap.dmg (Portfolio)
    • GitHub 바로가기
    • 오픈프로필(카카오톡)
    • Medium 바로가기
    • Disquiet 바로가기
    • LinkedIn 바로가기
  • 인기 글

  • 태그

    HTML
    Python
    react
    CSS
    Baek Joon
    프로그래머스
    programmers
    TypeScript
    JavaScript
    SQL
  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
ThreeLight
[Git] 명령어 정리
상단으로

티스토리툴바