git 작업 흐름

최준영·2022년 7월 19일
1

Git

목록 보기
2/2

기본개념

깃저장소로 지정된 파일은 깃에의해 3가지의 논리적 저장 공간으로 분류된다

  • 작업을 하는 공간(working directory)
    저장소내 파일을 수정하는 공간이다.
  • 스테이지 공간(stage)
    수정된 파일의 상태를 임시적으로 저장하는 공간이다.
  • 기록하는 공간
    commit을 통해 수정상태를 영구적으로 기록하는 공간이다.

기본적인 작업흐름

init

먼저 로컬깃허브 저장소를 만들고 touch명령어로 텍스트파일을 추가했다.


add

add명령어는 워크디렉토리에 있는 작업물을 깃에서 관리할 수 있도록 등록(tracked)상태로 변경하는 역할을 한다. tracked상태가된 파일들은 stage 공간으로 이동해 commit이 되기 직전에 위치한다.

밑의 사진을 보면 파일생성후 status명령어를 실행시키면 파일이 untracked상태인 것을 확인할 수 있다.

이상태에서 텍스트 파일을 수정해보도록 하겠다.

등록된(tracked)된 파일을 워킹디렉토리에서 수정하게 되면 unmodified상태에서 modified상태로 회귀하게 된다. 이때 파일은 stage공간에서 배제되고 untracked상태로도 돌아가게 된다.

등록 직후 파일         
- unmodified        
- on stage          
- tracked
- can commit
등록후 수정된 파일
- modified
- working directory(not on stage)
- untracked
- can't commit

commit

깃은 커밋직전 가장 최근에 컷밋된 부모커밋(HEAD포인터에 저장)와 커밋될 스테이지 저장소를 비교후 새로운 커밋 객체를 만든다.

마지막으로 수정된 파일을 다시 등록하고 commit해 보도록하겠다.


push

위의 예시는 로컬저장소만을 활용 했음으로 push를 사용하지 못한다.
만약 원격저장소를 로컬로 clone했다면 commit한 내용을 push 명령어로 원격저장소에 업로드 할 수 있다.

profile
Developer가 되고싶은 꿈나무

0개의 댓글