최근 회사에서 git로 소스관리를 하기 시작했다. 삽질 마~이 했다.
SourceTree라든가 Sublime Text Git 플러그인 등을 통해 관리가 가능한데
뭐니뭐니 해도 오리지날 커맨드라인에서 직접 명령어로 때리는 게 필요하다.
근데.... 너무~ 방대하다;;;;
추가 (인덱스-stage 에 추가)
git add <filename>
git add *
확정 (HEAD)
git commit -m “커밋 내용”
git commit -a -m “staged 없이 바로 커밋"
변경내용 PUSH
git push origin master
원격서버 주소 등록
git remote add origin <원격 서버 주소>
가지 치기
git checkout -b feature_x
master로 돌아오기
git checkout master
가지 제거
git branch -d feature_x
원격에 전송해야 다른사람이 접근 가능
git push origin feature_x
갱신 (서버 -> 로컬) : fetch(받기) + merge(병합)
git pull
가지 병합
git merge master
충돌 발생시 해결 후, 비교 / 병합
git diff <원래 가지> <비교 대상 가지>
git add <파일 이름>
식별자 확인 / 꼬리표 달기
git log
git tag 1.0.0 1b2e1d63ff
로컬 변경 내용 되돌리기 (HEAD)
git checkout — <파일 이름>
로컬에 있는 모든 변경내용과 확정본 포기
(원격에서 최신버전 가져오고, 로컬 master가 저 이력 가리키도록)
git fetch origin
git reset —hard origin/master
콘솔 컬러 출력
git config color.ui true
이력(log) 확정본을 1줄로 표시
git config format.pretty oneline
unstaged 와 staged 간의 비교
git diff
staged 와 committed 간의 비교
git diff —staged
git rm 삭제할파일
git mv 원본파일 대상파일
범인 찾기
git blame index.html
브랜치 목록 보기
git branch -r
git pull origin jang
git pull origin remote_jang:current_jang
git fetch origin
git merge origin/jang
diff 결과 포함 5개 로그 보기
git log -p -5
댓글 없음:
댓글 쓰기