[TIL] Git - CLI 버전 관리

Kim Jelly·2020년 9월 30일
0

git version control

Working tree : 내 컴퓨터 (git이 추적하기 전)
==> git add
Staging Area : git이 추적하는 파일 (버전 진행되기 전)
==> git commit
Repository : 버전 저장소 (버전 완성)

버전 생성

git init : 현재 디렉토리를 git 버전관리 디렉토리로 지정

git add 파일명 : working tree 내에 있는 파일을 git이 추적하는 staging area 로 옮긴다.

  • git add . : 현재 디렉토리 내 모든 파일을...
  • git add 디렉토리명 : 해당 디렉토리 내 모든 파일을..

git commit : staging area에 있는 파일을 버전으로 생성한다.

  • git commit -m "버전명" : 에디터를 열지 않고 바로 버전에 대한 설명 삽입 가능 (단, 짧게만)
  • git commit -am "버전명" : add 와 commit을 동시에 가능

버전 확인하기

git status : git 버전관리 디렉토리 내에 파일 상태 확인 (working tree / staging area)

git log : git 버전 히스토리 확인

  • git log --stat : 버전 내에 파일 리스트 확인
  • git log -p : 이전 버전과의 비교

버전끼리 비교하기

git log -p : 이전 버전과의 비교 내역
git diff : working tree 내에 있는 파일 (수정된 파일)과 마지막 버전과의 비교

버전 수정

git checkout commit ID : 해당 commit ID 버전으로 HEAD가 가르키도록 설정 (해당 commit ID 버전이 마지막 버전이 되도록 설정)

git checkout master : 기존 master로 HEAD가 가르키도록 설정 (기존 마지막 버전으로 다시 설정)

git revert commit ID : 해당 commit ID에서 수정한 내역을 되돌려서 이전 버전으로 돌아가기

  • 해당 버전이 삭제되는 것이 아닌 revert된 버전이 신규 생성된다.
  • reset 하여 삭제 하는 것보다 효율적으로 버전을 관리할 수 있다.

버전 삭제

git reset --hard commit ID : 해당 commit ID로 버전이 리셋될 수 있도록 해당 commit ID 이전의 버전을 지워라.

  • git revert와 유사하지만 전혀 다르기 때문에 commit ID설정 시 유의할 것
  • --hard는 수정하고 있던 파일까지도 모두 삭제하는 강력한 삭제방법이며, git reset의 다양한 모드 중 하나이다. (git reset --help 활용하여 다양한 모드 확인 가능)
  • 협업시에는 공유된 파일은 삭제하면 안된다. 이점 유의!!

그외

  • .gitignore : 공유하고 싶지 않은 개인적인 파일은 해당이름의 디렉토리 내에 파일을 넣으면 된다.
  • git 버전관리는 버전끼리의 비교가 중요함으로 diff tool을 확인하여 공부해보기!
  • brench : 하나의 저장소로 여러 파일을 관리하는 법
    (? 아직 명확히 모르겠다.)
  • tag : commit ID를 관리하기 쉽게 tag로 관리하는 듯? 이부분도 아직 공부전!

출처

생활코딩 git CLI version control

profile
꾸준히, 오래도록

0개의 댓글