
1. Git 관련 환경설정 및 초기화
- 저장소별 유저 이름 설정 (해당 디렉터리로 이동 후) : git config user.name "Git 이름(ID)"
- 저장소별 유저 메일 설정 (해당 디렉터리로 이동 후) : git config user.email "Git 계정 이메일"
- 저장소별 설정 정보 조회 : git config --list
- 현재 위치에 로컬 저장소 만들기 : git init
- Git 상태 확인 : git status
- 저장소 복제하기 : git clone <url>
- 새로운 원격 저장소 추가하기 : git remote add <원격 저장소> <url>
- sample.txt 파일 Staging area에 올리기 : git add sample.txt
- add 명령에서 Git 대화 모드를 사용해서 파일 추가하기 : git add -i
- 수정되고 추적되는 파일의 변경 사항 Staging하기 : git add -u [<경로>[<경로>]]
- commit 메세지를 붙여 커밋하기 : git commit -m "메세지 내용"
- commit 메세지 + 스테이징 동시에 하기(이전에 commit을 올려 tracked된 파일만 가능) : git commit -am "메세지 내용"
- commit 정보 확인 : git log
- 최근 commit 취소 : git reset HEAD^
- 작업 트리의 변경 사항 돌려놓기 : git checkout HEAD <파일> [<파일>]
- 마지막 commit 고치기 : git commit -m "메세지" --amend
- 이전 커밋을 수정하고 commit 메세지 재사용하기 : git commit -C HEAD --amend
2. Branch
- Branch 목록 확인하기 : git branch ('-r' 옵션 : 원격 브랜치 / '-a' 옵션 : 모든 브랜치)
- 특정 Branch로 이동하기 : git checkout <Branch Name>
- 특정 Branch 생성 후 해당 Branch로 이동 : git checkout -b <New Branch Name>
- 특정 Branch에서 파생 Branch로 만들어서 해당 Branch로 이동 : git checkout -b <Branch Name> <Base Branch Name>
- 모든 변경 사항 취소 : git checkout .
- (단, 아직 add / commit 되지 않은 내용 (Working Directory에 있는 변경 내용) 되돌리고 싶은 파일은 추적 되고 있어야 한다.)
- (checkout으로 지워버린 내용은, commit하지 않고 지운 내용이기 때문에 다시 복구할 수 없다.)
- 특정 파일에서 작업한 내용 삭제 : git checkout --<파일 이름>
- commit 로그에서 한줄에 한 commit씩 표시(확인하기) : git log --oneline
- commit 로그에 각 브랜치의 commit 그래프로 표시 : git log --branches --graph
- Branch 병합 : git merge <Branch_B>
- (단, Branch_B를 Branch_A에 병합한다고 했을 때, 병합 전에 Branch_A로 체크아웃을 해야한다.)
- commit하지 않고 합치기 : git merge --no-commit <Branch_B>
- branch의 이력을 다른 branch에 합치기 : git merge --squash <Branch>
- 병합이 끝난 Branch_B 삭제 : git branch -d <Branch_B>
- 작업 트리의 수정 내용 숨기기 : git stash
- 숨긴 수정 내용 꺼내오기 : git stash pop
3. Git 이력
- 모든 이력 보기(상세 조회) : git log
- commit 이력 중 commit ID와 타이틀 메세지만 조회 : git log --oneline
- 모든 브랜치 commit 이력 조회 : git log --oneline --decorate --grapth --all
- 특정 파일의 변경 commit 조회 : git log --index.html
- 가장 최근의 commit 로그 확인 : git log -1
- 20개의 항목과 패치만 보이도록 로그 제한하기 : git log -20 -p
- 6시간 동안의 commit 로그 보기 : git log --since="6hours"
- 각 항목의 로그 이력 한 줄씩 보기 : git log --pretty=oneline
- 각 항목마다 영향 받은 줄의 통계 보기 : git log --stat
- 현재 작업 트리과의 인덱스 차이 확인 : git diff
- 작업 트리와 저장소의 차이점 보기 : git diff HEAD
- 파일의 commit 정보 줄 단위로 보기 : git blame <파일>
4. 원격 저장소
- 원격 저장소에 연결 : git remote add origin <원격 저장소 주소>
- 원격 저장소 연결 확인 : git remote -v
- 로컬 저장소의 commit을 맨 처음으로 원격 저장소에 올리기 : git push -u origin <branch>
- (두 번째) 로컬 commit을 원격 저장소에 올리기 : git push <원격 저장소>
- 원격 저장소의 commit을 로컬로 가져오기 : git pull <원격 저장소>
- 원격 저장소를 local이라는 로컬 저장소로 복제 : git clone <원격 저장소 주소> local
- 원격 저장소의 commit을 가져오기만 하고 병합하지 않음 : git fetch <원격 저장소>
- fetch로 가져온 정보가 있는 branch로 이동 : git checkout FETCH_HEAD
'📘 Programming > Git' 카테고리의 다른 글
| [Git] git rebase (0) | 2025.06.03 |
|---|---|
| [Git] commit 개수 출력 (0) | 2025.05.21 |