github에서 저장소를 만든 상태에서 시작한다.
git remote add 별명(보통 origin) 깃헙주소
로 깃헙에 원격으로 연결한다.
git remote -v
로 연결상태를 볼 수 있다.
git push
를 입력하면 git push --set-upstream origin master
를 하라고 뜬다.
git push --set-upstream orgin master
를 입력하면 github 인증하는 과정을 거친다.
git log --oneline --all
을 했을 때 아래와 같이 뜨면 완성이다.
work1의 내용을 수정해서 working6로 커밋해보자.
그럼 아래와 같이 orgin/master(원격저장소)는 그대로 있지만 master가 working6로 옮겨간 것을 알 수 있다.
git push
로 원격저장소에 업로드해보자. 그럼 아래와 같이 orgin/master가 제대로 따라온 것을 볼 수 있다.
커밋은 기본적으로 변경할 수 없다. 하지만 git commit -amend -m "커밋메세지"
와 같이 -amend로 수정할 수 있다.
*변경 후
단, 원격저장소에 push하기 전 버전에 대해서만 가능하다.
정말로 커밋을 변경한 것일까?
사실 커밋을 실제로 변경한 것은 아니다. 마지막 커밋을 복제하여 새로운 커밋을 만든 것이다.(부모는 그 이전 커밋으로 동일) 그래서 커밋을 수정한 것으로 보이나 변경하기 전 커밋 역시 살아있다.
git reflog
를 보면 working8과 working9의 커밋id가 다른 것을 볼 수 있다.