Git Workflow

J·2021년 3월 21일
0

Git/Github

목록 보기
2/8
post-thumbnail

Git Workflow

깃을 잘 활용 하려면 workflow를 이해해야한다.
깃은 크게 세가지 작업으로 나눠져있다.

1) working directory
프로젝트의 파일들을 수정하는 작업하고 있는 디렉토리

2) staging area
어느정도 작업을 하고 버전 히스토리에 저장할 준비가 되어있는 파일들을 옮겨 놓는 곳

3) .git directory
버전의 히스토리를 가지고 있는 git repository 또는 git directory


commit/checkout

  • 예를 들어 a.txt, b.txt, c.txt프로젝트 파일들을 수정하고 있다가 b,c 파일은 어느정도 수정이 완료 되었다고 생각되면 staging area 로 옮긴다.
  • commint 명령어를 통해 staging area에 있는 파일들을 .git directory(깃 버전 히스토리)로 저장하게 된다. 이때 해쉬코드가 부여된다.
  • 이렇게 git directory에 저장된 버전들은 checkout 명령어를 통해 언제든지 원하는 버전으로 다시 돌아갈 수 있다. (working directory로 돌아가는 것)

commit : staging area -> .git directory
checkout : staging area <- .git directory


push/pull

저장된 히스토리는 나의 컴퓨터에만 보관되는데 문제가 생길 시 히스토리를 다 잃어 버리기 때문에 깃허브라는 서버에 push라는 명령어를 통해 나의 깃디렉토리를 서버에 업로드 한다.
서버에서 로컬로 다시 다운로드 하고 싶으면 pull 명령어를 사용한다.

깃허브에 업로드 : push
깃허브에서 다운로드 : pull

각각의 버전에 어떤 내용이 있냐면
각각의 commit 에는 스냅샷 된 정보를 기반으로 고유한 해쉬코드가 부여된다.
이 해쉬코드 아이디를 이용해서 버전정보를 참조 할 수 있다.
아이디 뿐만 아니라 어떤버전인지, 버전에 관련된 메세지, 작성자, 날짜/시간도 알 수 있다.

commit을 하게되면 해쉬코드가 부여되고 해쉬코드로 다양한 정보를 알 수 있다.


tracked

working directory는 두가지로 나눌 수 있다.
1. untracked : 아직 트레킹 하지 않은 파일 (새로 만들어진 파일이거나 기존에 존재하던 프로젝트를 초기화 했을 때)
2. tracked : 깃이 이미 트레킹 하고 있는 파일 (깃이 이미 알고 있는 파일)
이렇게 트레킹 하고 있는 파일들을 이전 버전과 비교하여 unmodified와 modified로 나뉠 수 있다. 이중에 modified만 staging are로 옮길 수 있다.

unmodified -> staging area (x)


0개의 댓글