오늘은 특강에서 Git 사용법에 대해 특강이 있었다.
그래서 겸사겸사 git 명령어를 정리해봤다.
1. 기본 설정 및 초기화
git config --global user.name "사용자 이름": Git 전역 사용자 이름을 설정합니다. 모든 저장소에 적용됩니다.git config --global user.email "사용자 이메일": Git 전역 사용자 이메일을 설정합니다.git init: 현재 디렉토리를 Git 저장소로 초기화합니다..git숨김 폴더가 생성됩니다.git clone [저장소 URL]: 원격 저장소를 로컬로 복제합니다.
2. 변경 사항 추적 및 커밋
git status: 현재 저장소의 상태를 확인합니다. 어떤 파일이 수정되었는지, 스테이징되었는지 등을 보여줍니다.git add [파일명]: 특정 파일을 스테이징 영역에 추가합니다. 커밋할 준비를 합니다.git add .: 현재 디렉토리의 모든 변경된 파일을 스테이징 영역에 추가합니다.git rm --cached [파일명]: 스테이징 영역에서 파일을 제거하지만, 로컬 파일은 삭제하지 않습니다.git commit -m "커밋 메시지": 스테이징된 변경 사항을 로컬 저장소에 기록합니다. 커밋 메시지는 변경 내용을 요약합니다.git commit -am "커밋 메시지": 추적 중인(tracked) 파일의 모든 변경 사항을 스테이징과 동시에 커밋합니다. (새로운 파일은git add필요)git commit --amend: 가장 최근의 커밋을 수정합니다. 이전 커밋 메시지를 변경하거나, 누락된 변경 사항을 추가할 때 사용합니다.
3. 변경 내역 확인
git log: 커밋 히스토리를 확인합니다. 각 커밋의 해시, 작성자, 날짜, 메시지 등을 보여줍니다.git log --oneline: 커밋 히스토리를 한 줄로 요약하여 보여줍니다.git log --graph --oneline --all: 브랜치 병합을 포함한 커밋 히스토리를 그래프 형태로 보여줍니다.git diff: 워킹 디렉토리와 스테이징 영역 간의 변경 사항을 비교합니다.git diff --cached: 스테이징 영역과 마지막 커밋 간의 변경 사항을 비교합니다.git diff [커밋1] [커밋2]: 두 커밋 간의 변경 사항을 비교합니다.
4. 브랜치 관리
git branch: 현재 저장소의 모든 브랜치 목록을 보여줍니다. 현재 브랜치는*로 표시됩니다.git branch [새 브랜치명]: 새로운 브랜치를 생성합니다.git checkout [브랜치명]: 특정 브랜치로 전환합니다.git checkout -b [새 브랜치명]: 새로운 브랜치를 생성하고 즉시 해당 브랜치로 전환합니다.git merge [병합할 브랜치명]: 현재 브랜치에 다른 브랜치의 변경 사항을 병합합니다.git branch -d [삭제할 브랜치명]: 특정 브랜치를 삭제합니다. (병합되지 않은 브랜치는-D로 강제 삭제)
5. 원격 저장소 상호작용
git remote -v: 현재 설정된 원격 저장소 목록을 보여줍니다.git remote add origin [원격 저장소 URL]: 원격 저장소를origin이라는 이름으로 추가합니다.git push origin [브랜치명]: 로컬 저장소의 변경 사항을 원격 저장소로 업로드합니다. 보통git push origin master또는git push origin main을 사용합니다.git pull origin [브랜치명]: 원격 저장소의 변경 사항을 로컬 저장소로 다운로드하고 병합합니다.git fetch origin [브랜치명]: 원격 저장소의 변경 사항을 다운로드하지만, 로컬 저장소에 병합하지는 않습니다.
6. 되돌리기 및 복구
git reset --hard [커밋 해시]: 특정 커밋으로 돌아가며, 해당 커밋 이후의 모든 변경 사항을 워킹 디렉토리와 스테이징 영역에서 삭제합니다. 주의: 데이터 손실 가능성이 높습니다.git reset --soft [커밋 해시]: 특정 커밋으로 돌아가지만, 해당 커밋 이후의 변경 사항은 스테이징 영역에 유지됩니다.git reset HEAD [파일명]: 스테이징 영역에서 특정 파일을 제거합니다. (unstage)git revert [커밋 해시]: 특정 커밋의 변경 사항을 되돌리는 새로운 커밋을 생성합니다. 히스토리를 보존하면서 변경 사항을 취소할 때 사용합니다.git stash: 현재 작업 중인 변경 사항을 임시로 저장합니다. 커밋하기 전에 다른 브랜치로 전환해야 할 때 유용합니다.git stash pop: 가장 최근에 저장된 스태시를 불러오고 삭제합니다.git stash apply: 가장 최근에 저장된 스태시를 불러오지만, 스태시는 삭제하지 않습니다.