[git] workflow

jungmin kim·2021년 12월 3일
0

Git & Github

목록 보기
2/5

Git Workflow

1) Working directory

프로젝트의 파일을 수정하고 작업하는 공간
(1) untracked : git이 파일정보를 모르는 경우 (새 파일 혹은 git 초기화)
(2) tracked : git이 파일정보를 아는 경우
- unmodified : 이전 버전과 비교해서 수정 안됨.
- modified : 이전버전과 비교해서 수정된 상태.

2) Staging Area

어느정도 작업이 이뤄진 후, 버전 히스토리에 저장할 준비가 되어있는 파일을 옮겨놓는 공간
(add명령어)

3) .git directory

버전 히스토리를 갖고 있는 공간
(commit명령어 실행)
이렇게 저장된 파일들은 check out명령어로 언제든지 원하는 버전으로 돌아갈 수 있다.

그러나 내 컴퓨터 즉 로컬 저장소에만 버전 히스토리를 저장하면
불가피한 컴퓨터 에러로 다 날려버릴 위험이 있기 때문에,
그것을 Github와 같은 서버에 업로드할 수있다.(push명령어)
이 서버를 원격 저장소라고 한다.

각각의 commit에는 버전관련 정보, 작성자, 날짜, 시간과 같은 정보도 포함되어있다.

Git Workflow 참고
https://velog.io/@janeljs/git-4

Workflow 예제

'hello world'가 저장된 텍스트파일 a.txt, b.txt, c.txt 이렇게 3가지를 git에 만든다.
터미널 명령어로는 다음과 같다.

이제 git의 상태를 알 수 있는 명령어를 통해 확인해본다.

git status (=git st)

다음과 같이 untracked라는 상태를 확인할 수 있다.

이제 a.txt에 add명령어를 실행했다.

git add a.txt

add명령어를 실행한 a.txt는 커밋할 준비가 된 상태(staging area로 이동),
add를 하지 않은 나머지 파일들은 여전히 untracked상태이다.

나머지 파일도 staging area로 옮겨보자.
하나하나 이동하지 않고 다음 명령어로 실행한다.

git add *.txt

이번에는 a.txt에 ellie라고 텍스트를 수정해본다.
그러자 다음과 같이 a.txt가 modified된 상태라고 뜬다.

이 경우 staging area에 있는 a.txt파일은 수정되기 전 데이터 'Hello world'가 들어있고
ellie로 수정된 a.txt파일은 modified되면서 working directory tracked상태에 있다.

git rm --cached *

이 명령어를 쓰면 다음과 같이 모든 파일이 unstage 즉, working directory로 돌아간다.

앨리쌤 유투브 참고
깃, 깃허브 제대로 배우기 (기본 마스터편, 실무에서 꿀리지 말자)

0개의 댓글