관리 메뉴

MuTa

git 책 정리 01 본문

코딩TIP

git 책 정리 01

MuTa 2019. 12. 27. 23:34

깃 저장소 만들기

깃은 설치 한 후에

저장소로 쓸 폴더를 생성한다 커맨드를 쓰든 우클릭 새로운 폴더 만들기를 하던

mkdir folder_name cd folder_name

git init

을 실행하면 .git 이라는 폴더가 생성 된다. 숨김폴더 이다.

깃 버전 관리

작업 트리 - 스테이지 - 저장소

작업 트리

  • working directory 를 의미 위세서 만든 folder_name

스테이지

  • 버전으로 만들어진 파일이 대기 하는 곳
  • 가령 10개 의 파일을 수정 했는데 그중 4개만 버전 처리 하려면 그 파일만 스테이지로 넘겨주면 됨
  • .git/index 파일에 저장

저장소

  • 스테이지 에서 대기 하고 있던 파일들을 버전으로 만들어 저장 하는 곳 리포지터리
  • .git/HEAD 파일에 저장

저장소와 스테이지는 사람이 관리 하지 않고 깃 자체에서 진행된다.

먼저 작업 트리에서 문서를 수정한 후 수정한 파일중 버전 처리 할것만 스테이지에 저장 한다. 그리고 스테이지에 있던 파일을 저장소로 커밋을 하는데 이때 버전이 생성됨

git status

명령어 수행시 커밋한 커밋할 파일들을 체크 해준다. 브랜치에 대한 설명도 나온다.

음 책에서는 vim 을 이용하는데 vs code 를 이용 하는게 편함 (리눅스 윈도우 맥 Arm 기반 컴터 다 된다)

add

간단한 파일을 생성 하고 hello.txt 파일을 생성 하고 다시

git status

를 수행하면 untracked files 가 있다고 표시됨

  • 버전이 아예 없는 파일

이것을 올리기 위해선

git add hello.txt 즉 git add (파일이름) 을 수행 하면

hello.txt 라는 파일은 스테이지 상태에 접수가 된다.

git add * 이런 명령어를 치면 한번에 선택 가능하지만

IDE 같은 프로그램이 과도 하게 자동으로 생성된 파일도 같이 태깅 되어 버리니 매우 주의 소스트리 같은 툴을 사용하면 비교적 편리하게 선택 할 수 이/ㅆ다.

git status 를 수행하면

untracked file 이 changes to be committed 로 변경 된다. 즉 커밋 할거임

commit

자 올릴것을 선택 했다면

커밋의 차례이다.

git commit -m “message1”

를 수행하면 아까 add 한 파일만 버전 태깅이 된다.

이때 스테이지 에 있던 것이 커밋을 함으로 서 저장소에 기록 된다.

commit log

git log

실행시
작성자 및 커밋 메시지를 확인 할 수 있다.

변경 사항

git diff

명령어 확인시 저장소에 있는 최신 버전과 수정한 파일과 차이를 구분해 낼 수 있다.

앞에 - 부분은 없서진것 앞에 + 부분은 추가된것

요 변경사항 을 확인하는것은 편의상 깃허브 사이트에서 다이렉트로 확인 하거나 툴을 사용해 보는것이 나같은 초보로써 직관적이므로 좋다 (소스트리 + ms code)

변경 사항 상세

git log –stat

로 확인시 커밋에 따른 관련 파일들을 확인 할 수 있다.

제외 필터

.gitignore 파일로 버전 관리 제외 필터를 생성 할 수 있다.

unmodified , modified , staged 상태

한번이라도 버전을 만들었다면 tracked 상태가 된것이고 해당 파일들은 어떤 상태인지 확인 할 수 있게 된다.

바뀐 파일이 없을 땐 unmodified 이고 뭔가 수정된 내역이 있을 때 Changes not stage for commit 라는 메시지를 달고 나오는 파일들이 modified 상태이다.

그후 git add 명령어로 modified 된 파일들을 추가 하면 커밋될 파일로 전환이 되면서 staged 상태가 된다.

방금 커밋한 메시지 수정

git commit –amend 를 이용하여 커밋 메시지를 수정 함

되돌리기

수정한 파일을 스테이지 에 올렸다면 다시 전으로 되돌리는 방법은

git checkout

체크 아웃으로 되돌린 내용은 복구 할 수 없다.

git checkout – hello.txt

를 진행하면 원복이 됨.

스테이징 되돌리기

git reset HEAD 파일 이름

파일 이름을 지정 하지 않았다면 스테이지 에 있는 모든 파일을 되돌림

최신 커밋 되돌리기

git reset HEAD^

가장 많이 한 커밋을 취소

최근 3개 커밋을 날리고 싶을때 git reset HEAD~3

특정 커밋으로 되돌리기

git reset 커밋 해시

커밋 해시값 을 복사 해서

git reset –hard 해시값

을 진해한다면 해당 해시값이 최신 커밋 버전이 됨

커밋 삭제하지 않고 되돌리기

git revert

커밋으로 되돌릴 때 수정했던 것을 삭제 해도 된다면 git reset 을 사용하고 나중에 사용할 것을 대비해서 커밋을 되돌리더라도 취소한 커밋을 남기고 싶다면 git revert 를 사용

이 부분은 실전 감각이 있어야 할듯

'코딩TIP' 카테고리의 다른 글

SVN  (0) 2014.04.10