개인프로젝트와 공동 프로젝트들을 하면서 사용했지만 헷갈리는 명령어들과 그에 대한 개념들을 정리해보려고 한다.
추후에 명령어들을 계속 사용하면서 내용과 옵션을 더 추가해나갈 예정이다.
1. git 이력 되돌리기
repository는 돌아가려는 commit으로 재설정되어서 해당 commit 이후의 기억이 사라지는 것을 의미한다.
reset과 revert의 차이는 아래 링크에 자세히 설명되어 있다.
개발바보들 1화-git "Back to the Future"
$ git reset <옵션> <돌아가고 싶은 커밋>
아무 조건이 없으면 변경된 내용은 남아 있지만 인덱스는 초기화되어서 다시 변경된 부분을 추가해야 한다.
$ git reset --hard <특정 커밋>
특정 커밋 이후의 모든 내용을 지워버려서 변경된 파일들을 다시 추가해야 한다.
$ git reset HEAD^
$ git reset HEAD~6
^는 바로 직전 커밋으로 되돌아간다는 것을 의미한다.
^대신 ~n(숫자)와 같은 형식을 사용하면 현재부터 n개 이전 이력으로 되돌아가라는 명령어이다.
$ git log
$ git log -p
-p옵션은 각 커밋 diff 결과를 보여준다.
-n(숫자) 형식으로 명령어가 오면 최근 n개까지의 명령어를 보여준다.
3. 브랜치 관련 주요 명령어 정리
$ git branch
조건 없는 경우 = -l 로컬 브랜치 정보를 보여줌.
-r = 리모트 저장소의 브랜치 정보를 보여줌.
-a = 로컬/리모트 저장소의 모든 브랜치를 보여줌.
(이름) = 로컬에 새로운 브랜치 생성
-m 변경전이름 새이름 = 브랜치 이름 바꾸기. (추후 브랜치 이름 바꾼 후 원격 저장소에서도 수정하는 방법 업데이트 할 것)
-m 새이름 = 현재 위치한 브랜치의 이름 바꾸기.
git checkout (브랜치명)
해당 브랜치로 이동한다.
-b (브랜치명) = 생성과 동시에 해당 브랜치로 이동.
-b (새로 만들 브랜치명) (존재했던 브랜치명) = 특정 이름을 지정해 원격 브랜치를 복사해 로컬에 저장할 때
-t (원격 브랜치명) = 원격 브랜치명까지 그대로 복사해 로컬에 저장할 때
-d = 브랜치 삭제. (merge하지 않은 커밋을 담은 경우는 삭제되지 않음.)
-D = 브랜치 삭제. merge하지 않은 커밋을 담은 경우도 삭제 가능.
git push origin :삭제된 브랜치명
-d/-D 명령어를 이용해 삭제한 후 원격 저장소에 push해서 내역을 저장한다.
4. 깃허브에 사진 올리기
임의의 레포지토리에 가서 이슈 탭으로 이동한다.
이동한 뒤 원하는 사진 파일을 파란색 write 창 부분에 드래그 앤 드롭을 하면 사진과 같이 마크다운 형식에 맞게 작성할 수 있도록 코드가 작성된다.
코드가 잘 작성되었는지 확인하고 싶다면 preview 탭을 눌러서 미리보기로 확인해본다. 미리보기에 문제가 없다면 코드를 복사해서 깃허브 .md 파일에서 원하는 곳에 붙여넣으면 된다.
마크다운 형식을 사용하는 모든 기록 툴에 공통적으로 사용되는 방법이다.