728x90
반응형
SMALL
https://education.github.com/git-cheat-sheet-education.pdf
Setup & Init
- git init: 기존 디렉터리를 Git 리포지토리로 초기화하기
- git init을 하면, 해당 폴더에 .git 파일이 생성됨
- git clone [url]: 전체 리포지토리 가져오기
Stage & Snapshot
- git status: 수정된 파일 목록 확인
- git add [file]: 워킹 디렉토리의 변경 사항을 스테이징 영역에 올림
- git reset [file]: 워킹 디렉토리의 변경 사항을 유지하면서 파일 스테이징 해제
- git diff: 워킹 디렉토리의 변경사항을 보여줌
- git diff --staged: 스테이징된 파일과 마지막 커밋의 차이를 보여줌
- git commit -m "[descriptive message]": 스테이징된 파일을 새로운 커밋 냅샷으로 커밋
Branch & Merge
브랜치에서 작업 격리, 컨텍스트 변경 및 변경 사항 통합하기
- git branch: 현재 존재하는 브랜치들을 나열, 현재 활성 브랜치 옆에 *가 표시됨
- git branch [branch-name]: 현재 커밋에 새 브랜치를 생성함
- git checkout [branch-name]: 워킹 디렉토리의 브랜치를 지정한 다른 브랜치로 전환함
- git merge [branch]: 지정된 브랜치의 기록을 현재 브랜치에 병합
- git log: 현재 브랜치 기록의 모든 커밋을 표시함
Inspect & Compare
로그, 다이어그램 및 object 정보 검토
- git log: 현재 활성 브랜치에 대한 커밋 기록 표시
- git log branchB..branchA: branchA에 존재하지만, branchB에는 없는 커밋(commit)들의 로그를 보여줌
- git log branchB --not branchA: 동일하게 사용됨
- 두 브랜치 간의 차이를 확인할 때 유용함
- git log --follow [file]: 특정 파일의 커밋 이력을 추적하는 데, 특히 그 파일이 이동하거나 이름이 변경된 경우에도 이력을 이어서 보여줌
- git diff branchB...branchA: branchB와 branchA의 공통 조상(merge base)부터 branchA까지의 변경 사항을 보여줌 즉, branchB와 branchA가 갈라진 시점 이후에 branchA에서 이루어진 변경 내용이 무엇인지를 비교할 때 유용
- git show [SHA]: 지정한 커밋의 상세 정보를 출력하는 git 명령어
- [SHA] : 확인하고자 하는 커밋의 해시(hash)를 의미
- 확인할 수 있는 상세 정보:
- 커밋 메타데이터:
- 커밋 해시, 작성자(autor), 작성 날짜(date) 및 커밋 메시지(commit message) 등이 출력
- 변경 사항(diff):
- 해당 커밋에서 변경된 파일의 차이(diff)가 함께 표시되어, 어떤 내용이 추가되거나 삭제 되었는지 확인할 수 있다.
- 커밋 메타데이터:
Tracking PATH Changes
- git rm [file]: git의 버전 관리에서 해당 파일을 제거하는 데 사용
- 워킹 디렉토리에서 사용:
- 실제 파일 시스템 상에서 해당 파일 삭제
- 스테이징 영역에서 사용:
- 스테이징 영역에서도 해당 파일이 삭제된 것으로 표시되며, 이후 커밋시 파일 삭제가 기록
- 워킹 디렉토리에서 사용:
- git mv [existing-path] [new-path]: Git 리포지토리 내에서 파일이나 디렉토리의 이름 변경(renaming) 또는 이동(moving)을 수행하는 데 사용
- 파일경로와 파일이름을 동시에 주면, 파일이름 변경 및 파일이동이 동시에 동작
- git log --stat -M: Git 로그를 출력할 때, 각 커밋에 대한 통계 정보와 함께 파일 이동(renames) 정보를 감지하여 보여줌
Share & Update
- git remote add [alias] [url]: 로컬 Git 리포지토리에 원격 저장소(remote repository)를 등록하는 데 사용
- git remote -v: 원격 저장소를 추가한 후, 등록된 원격 리포지토리 목록을 확인할 수 있음
- git fetch [alias]: 로컬 리포지토리에서 지정한 원격 저장소(별칭, alias)에 있는 최신 변경 사항(커밋, 브랜치, 태그 등)을 다운로드하여 업데이트하는 역할을 함
- 실제 로컬 브랜치에는 변경 사항이 병합되지 않음 즉, 원격 저장소의 최신 상태를 로컬에 반영하지만, 현재 작업 중인 브랜치에 자동으로 합쳐지지는 않는다.
- git merge [alias]/[branch]: 원격 저장소의 특정 브랜치의 변경 사항을 현재 체크아웃한 로컬 브랜치에 병합(merge)하는 데 사용
- [alias]: 원격 저장소의 별칭(ex, origin)
- [branch]: 병합하고자 하는 원격 브랜치의 이름
- git push [alias] [branch]: 로컬 리포지토리의 특정 브랜치에 있는 커밋들을 원격 저장소에 업로드(push)하는 데 사용
- [alias]: 원격 저장소의 별칭
- [branch]: 로컬에서 작업 중인 브랜치
- git pull: 로컬 리포지토리에서 원격 저장소의 최신 변경 사항을 가져와서 현재 체크아웃한 브랜치에 자동으로 병합(merge)
- git fetch → git merge 단계를 한 번에 수행하는 단축 명령어이다.
728x90
반응형
LIST
'Git' 카테고리의 다른 글
Git 작업 영역 (0) | 2025.02.03 |
---|---|
Git Flow / Github Flow (0) | 2025.02.03 |