[git] 버전관리

o_b:us 2022. 2. 11. 20:09

깃 로컬 저장소 사용

키워드 init, add, commit

  • git init -> git add . -> git commit -m '내용'
    깃을 시작할 폴더에 git init을 하면 .git이란는 폴더가 만들어지게 된다.
    변경 내용을 add 를 통하여 추적하게하고 commit을 하면 commit id 값을 통해 저장한다.

깃 변경 내용 추적하기

키워드 status, log

  • git status : 현재 변경된 파일의 상태를 알 수 있다.
  • git log : 현재까지 작성된 커밋 메세지를 확인 할 수 있다.

깃 버전 되돌리기

키워드 reset - soft, mixed, hard

본격적으로 버전 되돌리는 법에 알아 보자.

  • 위와 같이 master branch에 홈페이지, 로그인 , 회원가입을 차례대로 구현하고
    commit 내용을 '홈페이지 생성', '로그인 구현', '회원가입 구현' 으로 저장하였다.

img2

  • <시나리오#1> '회원가입 구현' 의 커밋내용을 지우고 싶다.
    그럴 때 쓰는게 soft 키워드이다.위와같이 git reset --soft 25ca 를 실행하게 되면 회원가입 구현의 커밋메세지가 삭제된것을 확인할 수 있다. 여기서 25ca는 log로 확인할 수 있는 해당 버전의 해쉬값이다.
    soft로 버전을 되돌리면 add 직후 commit 이전인 상태이다. 고로 내가원하는 내용의 커밋 메세지로 바꾸거나 삭제하고 싶을 때 사용하면 된다.
  • <시나리오#2> soft는 add 이후의 상태로 리셋을 해준다고 했다. 만약 추가해야할 내용이 있고 실수로 add를 했고 불필요한 commit을 하고해서 로그를 더만들고 싶지 않다 즉 add 이전의 상태로 돌아가고 싶다. 그럴 때는
    git reset -- mixed 25ca 명령어를 쓰면 된다.
  • <시나리오#3> '첫번째 버전' 커밋 후 '세번 째 버전' 이라고 잘못 만든 파일과 함께 커밋을 해놨다. 잘못 만든 버전의 파일들 까지 없애고 첫번째 버전으로 되돌아 가고싶다. 그럴땐 git reset --hard c5c1 명령어를 통하여 첫번째 버전으로 돌아갈 수 있다. 그러나 작성해둔 파일까지 다 삭제되니 조심해서 쓰자.
  • img3

log 간편히와 버전 다시 복구하기

img4

  • git reflog 리셋한 내용들이 해쉬값으로 있다.
  • git reset --hard 원하는버전

최종 로그 메세지만 바꾸는법

  • git commit --amend -m "test1.test"

'' 카테고리의 다른 글

[git] 시작하기  (0) 2022.02.10