소스트리 처음 시작할 때 git 설치시 적은 이름, 메일 적기
git 설치 후 설정
git config --global user .name “설정할이름” git config --global user .email 설정할메일
이름, 메일 저장 확인
git config user .name git config user .email
그 외 명령어
git add # 스테이지로 git status # 스테이지에 있는 것들 보기 git commit -m “커밋메시지” # 커밋 git log # 커밋된 내용 보기 git push origin master # 보내기 git pull origin master # github 땡겨받아 현재 브랜치와 merge # commit 후 pull하기! 꼭 git clone 저장소주소 # github 복제해오기 git checkout -b 원하는브랜치명 # 브랜치 생성 git reset 커밋해시복붙 # 되돌리기 # git log로 되돌로고자 하는 commit 복사 후 reset에 복붙 git stash # 작업 임시저장 git branch -v # 로컬 브랜치 정보와 마지막 커밋 내역
commit 되돌리기
- revert ( 커밋되돌리기 )
- 기존 버전 변함없이 유지된 채로 새로운 버전 생성
- 이전 모든 버전 유지한 채로 되돌리고 싶을 때 사용
- reset ( 이 커밋까지 브랜치를 초기화 )
- 완전히 되돌리기
- 되돌리고 싶은 시점으로 돌아감
- 되돌린 버전 이후의 버전들은 모두 사라짐
soft reset commit만 되돌림 add 유지 mixed reset commit, add 되돌림 변경사항 생성만 유지 hard reset 작업디렉터리까지 모두 되돌림
stash
- 작업 임시저장 ( 스태시 )
branch
- 버전을 여러 흐름으로 관리
- HEAD
- 현재 작업 중인 브랜치 commit
- checkout
- HEAD 위치를 작업할 브랜치의 최신 commit으로 이동
브랜치 나누기(만들기) 브랜치 클릭 브랜치 이동 해당 브랜치명 더블클릭 브랜치 삭제 삭제할 브랜치 우클릭 후 삭제
병합 기준이될 브랜치(master)로 이동 후
병할할 브랜치(foo) 우클릭 현재 브랜치로 foo 병합 클릭
병합후 필요없는 브랜치는 우클릭 후 삭제
어떤 브랜치의 내용 반영할 것인지 선별
선별 후 다시 commit
충돌
병합하려는 두 브랜치가 서로 같은 내용을 다르게 수정한 상황
충돌 후 git이 남겨놓은 것
<<<<<<< HEAD
master - 현재 브랜치 내용
=======
foo - foo 브랜치 내용
>>>>>>> foo
여기에서 반영할 내용 선별
내것으로 – 병합 기준이 됐던 master 변경사항으로
저장소것으로 – 병합하려고 했던 foo 변경사항으로
- merge 사용
히스토리를 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리를 찾아갈 때 보기가 어려움
- rebase 사용
베이스를 다시 정의함으로써 새롭게 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있음
example
- master 4개 commit
- foo master 2번째 commit에서 뻗어 나와 서 그 후로 2개 commit
이때 foo를 master 4번째 commit으로 rebase
- foo로 체크아웃
- 베이스를 옮기고자 하는 commit 우클릭 후 재배치 클릭
rebase 과정에서 충돌
그럴 때에도 어떤 브랜치 내용 반영할지 선별 후 commit