본문 바로가기
programing/Common

Git 정리

by RedWiz 2016. 8. 8.

윈도용 Git은 $HOME 디렉토리(%USERPROFILE% 환경변수)에 있는 .gitconfig 파일을 찾음


보통 C: \DocumentsandSettings\$USER 또는 C:\Users\$USER
(윈도우에서는 $USER 대신 %USERNAME%를 사용 한다)


msysGit도 /etc/gitconfig를 가지며 경로는 MSys 루트에 따른 상대 경로
인스톨러로 msysGit을 설치할 때 설치 경로를 선택할 수 있음


- 편집기
git config --global core.editor emacs


- Diff 도구 (Merge 충돌시)
git config --global merge.tool vimdiff


- config 초기 설정

git config --global user.name [Name] : 이름 설정

git config --global user.email [email] : 이메일 설정

git config --list : 설정 리스트 보여줌


- repository 생성

git init : 현재 폴더에 repository를 만들어 설정함 (.git 폴더 생성)


- 원격 기존 저장소 Clone

git clone [주소] (+폴더명)


- 원격 기존 저장소에 공유

git push : 로컬 저장소에서 원격 저장소로 올리기

git fetch : 원격 저장소에서 로컬 저장소로 내려 받기

git merge : 내려받은 데이터 병합

git pull : fetch & pull

git rebase : 작업 히스토리를 다른 branch에 차례대로 적용 -> 히스토리 유지에 좋음


- commit

git add [file] : 파일을 stage에 추가 (적어도 파일 하나라도 있어야 commit이 됨)

git commit -m "[Message]" : 메세지와 함께 commit함 (이 작업을 해야 branch를 만들 수 있음, master branch는 알아서 생성)

git commit -a : stage에 추가와 커밋을 동시에 함


- branch

git branch [branch] : branch 생성

git checkout [branch] : branch 바꿈(svn에서 폴더 바꾸는 개념, 해당 branch로 파일이 바뀌어짐)

cf) git checkout -b [branch] : branch를 생성하고 바꿈

git merge [branch] : 현재 checkout인 branch와 [branch]를 병합

git branch -d [branch] : branch 삭제


- status

git status : 상태

git diff : Unstaged상태인 변경부분 확인

git diff --cached : staged상태인 변경부분 확인


- remote 저장소

git remote : 등록된 리모트저장소 확인, Clone하면 origin이라는 리모트 저장소가 자동으로 등록됨

git remote -v : 리모트저장소이름과 URL을 함께 볼 수 있음

git remote add [리모트저장소이름] [URL] : 리모트 저장소 추가

git remote show[리모트저장소이름] : 구체적인 정보

git remote rename [] [] : 이름 바꾸기

git remote rm [] : 삭제


- tag

git tag : 태그 확인


Annotated 태그 > 전체적인 태그


Lightweight 태그 > 브랜치와 비슷, 특정 커밋에 대한 포인터


* 파일의 3가지 상태
Modified : 수정한 상태
Staged : add를 통해 stage file한 상태
Commited : commit한 상태

'programing > Common' 카테고리의 다른 글

Visual Studio 설정  (0) 2016.08.10
콜백 함수  (0) 2016.08.09
Git 개념 가이드  (0) 2016.08.05
바인딩과 스코프  (0) 2016.08.02
DLL에서 STL 사용시 문제  (0) 2015.05.14