깃이란 오픈 소스 버전 관리 시스템이며 로컬 컴퓨터에서 깃허브와 관련된 모든 활동을 처리합니다. 다음은 깃에서 사용하는 대표적인 명령어를 깃 치트 시트를 참고하여 정리한 것입니다.
깃 설정 및 시작
깃 사용자 정보 및 시작, 리포지트리 클론 명령어입니다.
- 시작: 특정 디렉토리에서 입력하면, 이를 깃 리포지토리로 시작합니다.
git init
- 클론: URL을 통해 깃 허브에 위치한 리포지토리 전체를 받아옵니다.
git clone "repository URL" .
# 점을 찍으면 현재 위치한 디렉토리가 git repository가 됨
git clone "repository URL"
# 점이 없으면 현재 위치한 디렉토리에 git repository가 생성됨
스테이징과 커밋
- 상태 확인: 작업하는 디렉토리에서 변경 사항이 발생한 파일들을 보여줍니다.
git status
- 추가(스테이징): 커밋을 위해 변경 사항이 발생한 파일들을 추가합니다.
git add .
# 현재 디렉토리에서 업데이트된 파일 모두 추가
git add -A
# 수정된 파일을 모두 스테이징 단계에 추가
- 스테이징 취소: 파일을 언스테이징합니다. 작업 디렉토리 내 변경 사항은 유지됩니다.
git reset [file]
- 변경 사항 보기
git diff
# 스테이징되지 않은 변경 사항 보기
git diff --staged
# 스테이징 되었으나 아직 커밋되지 않은 변경 사항 보기
- 커밋: 새로운 커밋 스샙샷으로 스테이징된 파일들을 전송합니다.
git commit -m "Please write commit message."
- 커밋 이력 확인: 브랜치의 모든 커밋 내역을 확인합니다.
git log
- 커밋 메시지 수정
git commit --amend
- 커밋 취소
git reset HEAD^
# 첫 번째 커밋 취소
git reset HEAD^2
# 최근 2개 커밋 취소
브랜치 활동
별도의 브랜치에서 작업한 다음 파일을 변경하고 변경 사항을 통합할 수 있습니다.
- 마스터 브랜치 이름을
main
으로 변경
git branch -M main
- 브랜치 생성(첫 번째 커밋을 완료한 다음에 생성 가능)
git branch [branch]
- 원하는 브랜치로 이동
git checkout [branch]
- 브랜치 생성 후 이동
git checkout -b [branch-name]
- 특정 브랜치 히스토리 머지: 특정 브랜치의 히스토리를 현재 브랜치에 머지합니다.
git merge [branch]
공유 및 업데이트
- 깃 원격 저장소 연결: 원격 저장소로 사용할 깃허브 URL을 연결할 수 있으며, 이를 리모트 리포지토리라 합니다.
git remote add origin "repository URL"
# origin은 리모트 리포지토리의 이름이며 변경 가능
- 현재 연결된 리모트 리포지토리 URL 확인
git remote -v
- 페치: 리모트 리포지토리의 모든 브랜치를 받아옵니다.
git fetch origin
- 머지: 리모트 브랜치를 현재 브랜치로 머지하여 업데이트합니다.
git merch origin/[branch]
- 푸시: 커밋을 완료한 변경 사항을 특정 브랜치에 전송합니다.
git push origin [branch]
# main 브랜치에 푸시
git push origin [branch]
# 원하는 브랜치에 푸시
git push -f origin [branch]
# 이전 히스토리를 무시하고 강제로 푸시, 사용 시 주의
- 풀: 리모트 리포지토리의 특정 브랜치의 모든 최신 변경 사항을 받아오고 머지합니다.
git pull origin [branch-name]
히스토리 정리
브랜치를 정리하거나 커밋을 업데이트 또는 히스토리를 삭제할 수 있습니다.
- 리베이스: 특정 브랜치보다 앞서 있는 현재 브랜치의 모든 커밋을 정리합니다.
git rebase -i [branch]
임시 커밋
브랜치 변경을 위해 일시적으로 수정 및 트래킹하는 파일을 저장합니다.
- 스태시: 수정 및 스테이징된 사항을 저장합니다.
git stash
- 스태시 목록 확인
git stash list
- 스태시 삭제: 상위 스태시 스택부터 변경 사항을 삭제합니다.
git stash drop
파일 및 캐시 삭제
- 캐시 삭제(add 이후 스테이징 단계에서 제외)
git rm --cached [File]
git rm --cached -r [Directory]
- 로컬 깃 파일 삭제(기존의 모든 설정 삭제)
rm -rf .git
반응형