[GIT] git 버전 관리의 본질

NAEMAMDAEROG·2021년 12월 1일
0

저장소 만들기

  • mkdir gitfth : 프로젝트 파일을 만든다.
  • cd gitfth : 프로젝트 디렉토리로 들어간다.
  • git init : 현재 디렉토리를 git의 (버전)저장소로 만든다.

git이 관리할 대상으로 파일 등록

  • vim f1.txt : 파일 생성
  • cat f1.txt : 파일 내용 확인
  • git add f1.txt : git에게 버전 관리를 할 파일을 알려준다. 자동으로 하면 버전 관리가 필요하지 않은 파일들도 등록될 수 있기에 정확하게 버전 관리할 파일을 알려줘야 한다.
    - git은 생성하거나 수정하고 나서 git add 명령으로 추가하지 않은 파일은 커밋하지 않는다.
  • git status : 프로젝트 폴더의 상태를 확인한다.

버전을 만들 사람에 대한 정보를 설정

  • git config --global user.name "자신의 닉네임 or 이름"
  • git config --global user.email "자신의 이메일"

버전 만들기(commit)

  • git commit -m "수정한 내용" : "수정한 내용"이 표시되면서 commit 된다.
    - git은 staging area에 속한 스냅샷을 커밋한다는 것을 기억해야 한다.
  • git commit -am "수정한 내용" : git add 없이 자동으로 수정된 파일을 commit 할 수 있다. 한 번도 add 하지 않은 파일들은 자동으로 add 되지 않는다.
  • git log : commit log 볼 수 있다.

변경사항 확인하기

  • git log -p : 로그에서 버전 간의 차이점을 출력하고 싶을 때
  • git log {commit 뒤의 아이디} : 그 버전까지의 로그를 볼 수 있다. 그 이후 커밋된 로그들은 출력되지 않는다.
  • git diff {버전 id1}..{버전 id2} : 버전 간의 차이점을 알 수 있다.
  • git diff : commit된 파일 상태와 현재 수정중인 상태 비교

과거의 버전으로 돌아가기

  • git reset --hard "돌아가고자 하는 버전 id" : 그 이후의 버전은 삭제된다.
    • 우리 눈에만 안 보일뿐 삭제된 것은 아니고, git 어딘가에 남아 있다.
    • 원격 저장소에 올린 이후에는 reset 불가. reset은 공유하기 전에 local에서만 하자.
    • git reset option 많으니 확인해보고 사용하자. (--hard는 위험한 편)
  • git revert "버전 id" : 버전 id의 커밋을 취소한 내용을 새로운 버전으로 만드는 명령

출처 : 생활코딩 - 지옥에서 온 git
https://opentutorials.org/course/2708/15242

profile
Blockchain & Programming 공부 기록

0개의 댓글