Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

heenam

git 명령어 정리 본문

[Programming Language]/Project

git 명령어 정리

znzltiq 2020. 2. 19. 18:13

모든 명령어 앞에 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