2015년 6월 10일 수요일

기억해 두면 좋은 Git 명령어

1. Git 설정

$ git config --global user.name "John Doe"
$ git config --global user.email john@gmail.com
선호하는 에디터가 있으면 아래도 해준다.
$ git config --global core.editor vi

- 도움말 보기
$ git help <verb>

2. 기본 명령어

- Git 저장소 만들기
$ git init

- 저장소 clone하기
$ git clone git://github.com/schacon/grit.git

- 저장소에 파일 추가하기
$ git add *.c

- 저장소에 commit하기
$ git commit -m "initial commit"

- 파일의 상태 확인하기
$ git status

- 무시하고 싶은 파일은 .gitignore에 적어준다. 표준 Glob 패턴 입력이 가능하다.

- 변경 내용 확인하기(수정한 파일과 staged된것의 내용 비교)
$ git diff
- 변경 내용 확인하기(staged된것과 저장소의 내용 비교)
$ git diff --cached
or
$ git diff --staged

- 파일 삭제하기
$ git rm test.txt
- 파일 삭제시 파일이 변경된 상태라면 git rm이 되지 않는다. 그러므로 위의 명령에 -f를 주거나 rm 후 git rm을 해야 한다.
- 파일을 실제로 지우지는 않고 저장소에서만 제거하고 싶으면
$ git rm --cached readme.txt

- 파일 이름 변경하기
$ git mv README.txt README
or
$ mv README.txt README
$ git rm RADME.txt
$ git add README

- 히스토리 조회하기
$ git log

- staged 상태인 것 되돌리기
$ git reset HEAD readme.txt
- 수정한 파일을 수정이전 버전으로 되돌리기
$ git checkout -- readme.txt

- 현재 프로젝트에 등록된 리모트 저장소 확인
$ git remote -v

- 새 리모트 저장소 추가
$ git remote add [단축이름] [url]

- 리모트 저장소와 연결된 추적 브랜치 만들기
$ git checkout -b [로컬 브랜치 이름] [리모트 저장소 이름]:[리모트 브랜치 이름]
- 리모트 저장소에서 데이터 가져오기
$ git fetch [remote-name]
- 리모트 저장소에서 데이터 가져와서 머지까지 하기
$ git pull [remote-name]

- 파일을 리모트 저장소에 올리기
$ git push [리모트 저장소 이름] [브랜치 이름]
브랜치 이름이 로컬과 리모트가 다른 경우
$ git push [리모트 저장소 이름] [로컬 브랜치 이름]:[리모트 브랜치 이름]

- 리모트 브랜치 삭제하기
$ git push [리모트 저장소 이름] :[리모트 브랜치 이름]

- 리모트 저장소의 구체적인 정보 확인하기
$ git remote show origin

- 리모트 저장소의 이름 바꾸기
$ git remote rename pb paul => pb를 paul로 바꾼다.

- 리모트 저장소 삭제하기
$ git remote rm paul

- tag 조회하기
$ git tag
- 간단한 tag 만들기(lightweight tag)
$ git tag v1.4
- 자세한 tag 만들기(annotated tag)
$ git tag -a v1.4 -m 'my version 1.4'

- tag 정보 확인하기
$ git show v1.4

- 예전 커밋에 tag 넣기
$ git tag -a v1.2 9fceb02 => 커밋 체크섬 일부를 마지막에 넣어줌

- tag를 리모트 서버에 전송하기
$ git push origin v1.4
- 여러개의 tag를 한번에 보내기
$ git push origin --tags

- 브랜치 목록 보기
$ git branch

- 브랜치 만들기(만들기만 하고 이동하지는 않음)
$ git branch testing

- 브랜치 이동하기
$ git checkout testing

- 머지된 브랜치 삭제하기
$ git branch -d testing
- 머지가 안된 브랜치 강제로 삭제하기(조심해서 사용하자)
$ git branch -D testing

- 브랜치 머지하기
$ git merge master => master의 내용을 현재 브랜치로 머지함

- 현재 checkout한 브랜치 기준으로 머지정보 확인하기
$ git branch --merged
$ git branch --no-merged

- rebase 하기
$ git rebase master

- server 브랜치를 master 브랜치로 rebase 하기
$ git branch master server

댓글 없음:

댓글 쓰기

Building asynchronous views in SwiftUI 정리

Handling loading states within SwiftUI views self loading views View model 사용하기 Combine을 사용한 AnyPublisher Making SwiftUI views refreshable r...