별의 공부 블로그 🧑🏻‍💻
728x90
728x170
- Git은 다양한 명령어를 지원함.
- 구글에서 'git cheat sheet' 등의 검색어로 검색하면 많이 찾을 수 있음.
- Git은 파일을 세 가지 작업 영역으로 관리함.
1) Working Directory : 저장소가 추적 중인 파일들이 위치하는 영역
2) Staging Area : 커밋할 준비가 된(staged) 파일들이 위치하는 영역
3) Repository : 커밋되어 버전을 관리하는 파일들이 위치하는 영역. 이 영역의 파일이 수정되면 Working Directory 영역으로 이동하게 됨.

 


*설정하기

 

명령어 

설명 

 git config --global user.name "이름"

 Git에서 커밋할 때 기록할 이름을 설정함.

 git config --global user.email "이메일"

 Git에서 커밋할 때 기록하는 이메일을 설정함.

 


*저장소 생성

 

명령어 

설명 

 git init 저장소이름

 명령을 실행한 위치에 <저장소 이름>으로 저장소를 만듦.

 git clone 저장소주소

 <저장소 주소>의 원격 저장소를 클론함.

 

 

*변경 내역 다루기

 

명령어 

설명 

 git status

 저장소의 상태를 확인함. 추적하지 않는 파일, 추적 중이지만 변경되어 커밋해야하는 파일 등을 보여줌.

 git diff

 마지막 커밋과 현재 변경된 내용을 비교해 보여줌.

 git add 파일이름

 버전 관리를 하기 위한 파일 추적을 시작함. stage에 add를 하는 것임.

 git reset 파일이름

 변경 내역이 생겨서 git add 명령을 실행해 커밋할 준비가 된 파일을 Staging 영역에서 제거함. 파일의 변경 내용은 보존됨.

 git commit -m "커밋설명메시지"

 git add 명령을 실행해 커밋할 준비가 된(staged 상태인) 파일을 로컬 저장소에 <커밋설명메시지>로 설명을 입력해 커밋함.


 

*브랜칭

 

명령어 

설명 

 git branch

 저장소에 있는 브랜치 목록을 보여줌.

 git branch 이름

 <이름>으로 브랜치를 만듦.

 git checkout 브랜치이름 

 <브랜치 이름>으로 현재 작업 중인 브랜치를 변경함.

 git merge 브랜치이름

 현재 작업 중인 브랜치에 <브랜치 이름> 브랜치를 가져와 병합함.

 git branch -d 브랜치이름

 <브랜치 이름> 브랜치를 삭제함.


 

*추적 중인 파일 삭제와 변경

 

명령어 

설명 

 git rm 파일이름

 저장소에서 버전 관리 중인 파일을 삭제함. 그와 더불어 실제 로컬 파일도 삭제함. 삭제 기록이 저장소에 남음. 

 git rm -cached 파일이름 

 저장소에서 버전 관리 중인 파일만 삭제함. 로컬 파일은 그대로 남음. 
 git mv 파일이름 변경될파일이름 

 저장소에서 버전 관리 중인 파일의 이름(혹은 경로)을 변경함. 변경 기록이 저장소에 남음. 


 

*커밋하지 않은 상태로 임시 보관

 

명령어 

설명 

 git stash

 Staged 상태에 있는 커밋되지 않는 변경 내역을 stash라는 임시 공간에 저장함. 

 git stash pop  stash에 마지막으로 저장된 변경 내역을 현재 브랜치에 적용함.
 git stash list  stash에 저장된 변경 내역의 목록을 출력함.
 git stash drop

 마지막으로 저장된 변경 내역을 삭제함.

 


*내역 살펴보기

 

명령어 

설명 

 git log  현재 브랜치의 버전 내역을 출력함 

 git log --follow 파일이름

 파일의 변경 내역들을 출력함. 파일 이름의 변경까지 포함한 내역을 출력함. 

 git diff 브랜치 …다른브랜치 

 대상이 되는 두 브랜치 사이의 파일들을 비교해 다른 점을 출력함. 

 git show 커밋 

 대상 커밋의 메타데이터와 변경 내역을 출력함.

 


 

*커밋 취소하기

 

명령어 

설명 

 git reset 커밋

 대상 커밋 이후에 생긴 모든 커밋을 취소함. 하지만 커밋과 함께 변경된 내역은 로컬 저장소에 남겨둠.

 git reset --hard 커밋

 대상 커밋 이후에 생긴 모든 커밋과 변경 내역을 대상 커밋 시점으로 되돌림.


 

*원격 저장소와 동기화

 

명령어 

설명 

 git fetch 원격저장소이름

 원격 저장소의 모든 변경 내역을 로컬 저장소에 다운로드함.

 git merge 원격저장소이름/브랜치이름

 원격 저장소의 대상 브랜치를 현재 작업 중인 브랜치에 병합함. 

 git push 원격저장소이름 브랜치이름

 로컬 브랜치의 모든 커밋을 원격 저장소의 대상 브랜치에 업로드함.
 git pull 원격저장소이름

 git fetch와 git merge 명령을 차례로 실행하는 것과 같은 명령. 즉, git fetch 원격저장소이름 명령과 git merge 원격저장소이름/현재브랜치 명령을 실행한 결과와 같음.

 


 

내용 출처 : 만들면서 배우는 Git, GitHub 입문 (윤웅식 지음, 한빛미디어)




728x90
그리드형(광고전용)

'In-depth Study > Git' 카테고리의 다른 글

[Git] 깃(Git) 설치 후, 사용자 계정/이메일 설정하는 방법  (0) 2022.06.15
[Git] Git 연동 오류 : Make sure you configure your 'user.name' and 'user.email' in git.  (0) 2021.06.22
[Git] Git 기본 설정  (0) 2018.08.04
Mastering Markdown  (0) 2017.11.16
Git 고급 명령어  (0) 2017.05.16
Git 기본 명령어  (0) 2017.05.10
git log  (0) 2017.05.10
.gitignore  (0) 2017.05.10
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖