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
'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 |