git 명령어 요약 및 용어 정리
by 볼빵빵오춘기Git 명령어 요약
- git init: 현재 디렉토리를 새로운 Git 저장소로 초기화한다.
git init
- git add: 변경된 파일을 스테이징 영역에 추가하여 커밋 대상으로 만든다.
filename.txt 파일을 스테이징 영역에 추가
git add f1.txt
모든 변경된 파일을 스테이징 영역에 추가
git add .
- git status: 현재 작업 디렉토리의 상태(추적되지 않은 파일, 변경사항, 스테이징 상태 등)를 보여준다.
git status
- git commit: 스테이징 영역에 있는 변경사항을 기록하여 새로운 커밋을 만든다.
스테이징된 변경사항을 "Add Version"라는 메시지와 함께 커밋
git commit -m "Add Version"
- git config --global user.name 자신의 닉네임: Git의 글로벌 사용자 이름을 설정한다.
글로벌 사용자 이름을 "YourName"으로 설정
git config --global user.name "YourName"
- git config --global user.email 자신의 이메일: Git의 글로벌 사용자 이메일을 설정한다.
글로벌 사용자 이메일을 "jinny@mail.com"으로 설정
git config --global user.email "jinny@mail.com"
- git log: 저장소의 커밋 히스토리를 보여준다.
git log
- git log -p: 커밋 히스토리와 함께 각 커밋의 변경된 내용(diff)을 보여준다.
git log -p
- git log commit아이디: 특정 커밋아이디부터의 커밋 히스토리를 보여준다.
git log abc1234
- git diff commit아이디1..commit아이디2: 두 커밋 사이의 차이점을 보여준다.
git diff abc1234..def5678
- git --help: Git의 명령어 도움말을 보여준다.
git --help
- git branch: 현재 브랜치 목록을 보여주거나 새로운 브랜치를 생성한다.
현재 브랜치 목록을 보여줌
git branch
exp라는 이름의 새로운 브랜치를 생성
git branch exp
- git checkout : 현재 작업 중인 브랜치를 전환한다.
현재 작업 중인 브랜치를 exp 브랜치로 변경
git checkout exp
- git log --branches: 모든 브랜치의 커밋 로그를 보여준다.
git log --branches
- git log --branches --decorate: 브랜치 이름과 태그를 포함한 모든 브랜치의 커밋 로그를 보여준다.
git log --branches --decorate
- git log --branches --decorate --graph: 그래프로 시각화된 브랜치 구조와 커밋 로그를 보여준다.
git log --branches --decorate --graph
- git log --branches --decorate --graph --oneline: 한 줄 요약으로 그래프로 시각화된 브랜치 구조와 커밋 로그를 보여준다.
git log --branches --decorate --graph --oneline
- git log 브랜치명1..브랜치명2: 브랜치명1 브랜치에는 없고 브랜치명2 브랜치에만 있는 커밋들을 보여준다.
main 브랜치에는 없고 exp 브랜치에만 있는 커밋들을 보여줌
git log main..exp
- git log -p 브랜치명1..브랜치명2: 브랜치명1 브랜치에는 없고 브랜치명2 브랜치에만 있는 커밋의 변경 내역(diff)을 보여준다.
exp 브랜치에는 없고 main 브랜치에만 있는 커밋의 변경 내역(diff)을 보여줌
git log -p exp..main
- git diff 브랜치명1..브랜치명2: 브랜치명1 브랜치와 브랜치명2 브랜치 사이의 차이점을 보여준다.
main 브랜치와 exp 브랜치 사이의 차이점을 보여줌
git diff main..exp
- git branch -d 브랜치명1: 브랜치명1 브랜치를 삭제한다.
exp 브랜치를 삭제
git branch -d exp
- git stash: 현재 작업 상태를 임시 저장소에 저장하고, 작업 디렉토리를 깨끗하게 만든다.
git stash
- git stash apply: 저장한 임시 저장소의 변경사항을 다시 적용한다.
git stash apply
- git stash drop: 특정 임시 저장소 항목을 삭제한다.
git stash drop
- git stash list: 저장한 임시 저장소 항목들의 목록을 보여준다.
git stash list
- git stash pop: 저장한 임시 저장소의 변경사항을 적용하고, 적용한 항목을 삭제한다.
git stash pop
- git merge: 두 브랜치를 병합하여 하나의 브랜치로 만든다.
현재 브랜치에 merge-branch를 병합
git merge merge-branch
- git rebase: 브랜치의 커밋을 다른 브랜치의 커밋 위로 재배치하여 깔끔한 히스토리를 만든다.
git merge feature-branch
- git reset: 특정 커밋으로 이동하여, 이후의 변경사항을 되돌리거나 스테이징 상태를 수정한다.
- 옵션
- --mixed (기본 옵션) : 스테이징 영역을 지정된 커밋 상태로 재설정하지만, 워킹 디렉토리의 변경사항은 그대로 남겨둔다.
즉, 파일의 변경 내용은 남아 있지만, Git이 추적하지 않게 된다. - --soft : 스테이징 영역과 작업 디렉토리의 변경사항을 유지한 채 커밋만 되돌린다.
즉, 커밋만 취소하고 변경사항은 스테이징 영역에 그대로 남겨둔다. - --hard : 스테이징 영역과 작업 디렉토리의 모든 변경사항을 삭제하여 지정된 커밋 상태로 완전히 되돌린다.
이 옵션은 되돌린 변경사항을 복구할 수 없다.
마지막 커밋을 제거하고, 작업 디렉토리를 해당 커밋 이전 상태로 되돌린다.
git reset --hard HEAD~1
abc1234라는 커밋 ID로 이동, git reset 명령어 옵션을 넣지않으면 디폴트로 --mixed
git reset abc1234
- git revert: 특정 커밋의 변경사항을 취소하는 새로운 커밋을 만든다.
커밋 abc1234의 변경사항을 취소하는 새로운 커밋을 만듦
git revert abc1234
Git 용어 정리
- commit message : 커밋을 설명하는 메세지로, 변경 사항과 그 이유를 간단하게 기록한다.
- version : 특정 시점의 파일 상태를 의미하며, Git에서는 커밋을 통해 버전을 관리한다.
- Working Directory : 실제 작업을 진행하는 공간으로, 파일 수정과 같은 작업을 하는 곳이다.
- Index(=Staging Area ): git add 명령어를 사용하여 변경사항을 임시로 저장하는 공간이다. 커밋전에 파일들이 추가되는 곳이다.
- Repository : 실제로 커밋들이 저장되는 장소로, 파일의 버전을 관리한다.
- push : 지역 저장소의 소스를 원격 저장소로 올리는 것이다.
- pull : 원격 저장소에서 지역 저장소로 내려받는 것이다.
'👩🏻💻 About 프로그래밍 > git' 카테고리의 다른 글
깃 프로그램 (0) | 2024.08.29 |
---|---|
Git vs Github (0) | 2024.08.29 |
git 동기화 방법 (0) | 2024.08.28 |
원격저장소 만들기 (0) | 2024.08.28 |
github 소개 (0) | 2024.08.28 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기