heenam
git 명령어 정리 본문
모든 명령어 앞에 git 붙힘
환경 설정
config --global --list : 현재 설정정보를 조회 할 수 있음
config --global user.name "사용자명" : 사용자명 등록
config --global user.email "이메일주소" : 이메일 주소 등록
config --global color.ui “auto” : 터미널에 표시되는 메시지에 칼라를 표시해줌
기본적인 명령어
--version : 현재 git의 버전을 확인
init : 현재 디렉토리에 git 저장소를 생성
add 파일명 : 1.untracked files의 파일들을 git가 추적
2.파일은 수정했지만 아직 스테이징 영역에 올라가지 않은 파일들을 스테이징 영역에 올림
commit -m "커밋메시지" : 스테이징 영역에 올라가 있는 파일들을 커밋
commit -C HEAD -a --amend : 지정한 커밋의 로그메시지를 다시 사용하여 기존커밋을 수정
status : 커밋되지 않은 변경사항을 조회
diff : 스테이징영역과 현재 작업트리의 차이점을 보여줌
mv 파일명 새파일명 : 기존에 존재하는 파일을 변경이력은 그대로 유지한 상태로 새파일로 이동
git checkout -- 파일명 : 아직 스테이징이나 커밋을 하지 않은 파일의 변경내용을 취소하고 이전 커밋상태로 돌림
branch와 Tag
branch : 현재 존재하는 브랜치를 조회
branch 브랜치명B 브랜치명A : 브랜치명A에서 새로운 브랜치 브랜치명B를 만듬
branch 브랜치명 : 브랜치명의 새로운 브랜치를 만듬
branch -d 브랜치명 : 브랜치 삭제
branch -m 존재하는브랜치명 새로운브랜치명 : 존재하는 브랜치를 새로운브랜치로 변경
tag 태그명 브랜치명 : 브랜치명의 현재시점에 태그명으로 된 태그를 붙힘
checkout 브랜치명/태그명 : 해당 브랜치나 태그로 작업트리를 변경
checkout -b 브랜치명B 브랜치명A : 브랜치명A에서 브랜치명B라는 새로운 브랜치를 만들면서 체크아웃을 함
rebase 브랜치명 : 브랜치명의 변경사항을 현재 브랜치에 적용
merge 브랜치명 : 브랜치명의 브랜치를 현재 브랜치로 합침
cherry-pick 커밋명 : 커밋명의 특정 커밋만을 선택해서 현재 브랜치에 커밋으로 만듬
로그 관리
log : 커밋로그들을 볼 수 있으면 -1나 -2같은 옵션을 주어 출력할 커밋로그의 갯수를 지정할 수 있음
log 커밋명 : 해당 커밋명의 로그를 볼 수 있음
blame 파일명 : 갈 줄 앞에 커밋명과 커밋한 사람등의 정보를 볼 수 있음
blame -L a,b 파일명 : L옵션을 사용하면 범위를 지정해서 볼 수 있음(숫자의 범위 대신 정규식도 가능)
blame -M 파일명 : M 옵션을 사용하면 반복되는 패턴을 찾아서 복사하거나 이동된 내용을 찾아줌
revert 커밋명 : 기존의 커밋에서 변경한 내용을 취소해서 새로운 커밋을 만듬
reset 커밋명 : 이전 커밋을 수정하기 위해서 사용
rebase -i 커밋범위 : i옵션으로 대화형모드로 커밋 순서를 변경하거나 합치는 등의 작업을 할 수 있음
원격 저장소
clone 저장소주소 폴더명 : 원격저장소를 복제하여 저장소를 생성
fetch : 원격저장소의 변경사항 가져와서 원격브랜치를 갱신
pull : fetch에서 하는 원격저장소의 변경사항을 가져와서 지역브랙치에 합치는 작업을 한꺼번에함
push : 파라미터를 주지 않으면 origin 저장소에 푸싱하며 현재 지역브랜치와 같은 이름의 브랜치에 푸싱
remote add 이름 저장소주소 : 새로운 원격 저장소를 추가
remote : 추가한 원격저장소의 목록을 확인할 수 있음
remote show 이름 : 해당 원격저장소의 정보를 볼 수 있음
remote rm 이름 : 원격저장소를 제거함
서브 모듈
submodule : 연관된 하위모듈을 확인할 수 있음
submodule add 저장소주소 서브모듈경로 : 새로운 하위모듈을 해당경로에 추가
submodule init 서브모듈경로 : 서브모듈을 초기화 함
submodule update 서브모듈경로 : 서브모듈의 변경사항을 적용
기타 명령어
archive --format=tar --prefix=폴더명/ 브랜치혹은태그 | gzip > 파일명.tar.gz
archive --format=zip --prefix=폴더명/ 브랜치혹은태그 > 파일명.zip :해당 브랜치나 태그를 압축파일로 만듬
mergetool : 설정에 merge.tool의 값에 있는 머지툴을 찾아서 실행
gc : 저장소의 로그를 최적화 함
rev-parse --show-toplevel : 저장소내에서 입력하면 루트디렉토리를 알려줌
'[Programming Language] > Project' 카테고리의 다른 글
Computer Science Part4 (0) | 2020.03.30 |
---|---|
Computer Science Part3 (0) | 2020.03.20 |
Computer Science (0) | 2020.03.11 |
오픈소스(Open Source)란? (0) | 2020.02.13 |
깃(git)이란? (0) | 2020.02.08 |