Git 저장 영역, 저장소 만들기, tracked/untracked란?

망7H·2021년 3월 30일
0
post-custom-banner

1. git을 활용하여 저장소를 만드는 2가지 방법.

1) 원격 저장소(git repository - remote)에서 clone.

git clone [원격 저장소의 repo 경로] 명령으로 원격 저장소의 프로젝트를 현재 경로에 복사할 수 있다. 본인의 저장소가 아닌, 타인의 저장소에서 clone을 받은 경우에는 git rm -r .git과 같은 명령으로 git 연결을 끊고, 본인의 원격 저장소에 다시 연결해주는 git remote add origin [자신의 원격 저장소의 repo 경로]와 같은 작업을 해주어야 한다.
이때, fatar: remote origin already exists와 같은 오류가 발생할 수 있는데, 아래의 방법을 순서대로 적용해서 해결 가능.
방법 1. git remote rm origin
방법 2-1. git config --global user.name "[사용하려는 이름]"
방법 2-2. git config --global user.email "[git login mail]"

2) 작업 경로(working directory)를 저장소로 만들기.

현재 작업 경로에서 git init 명령으로 새로운 git 저장소를 만든다.

2. git의 4가지 저장 영역.

1) Working directory

현재 작업하고 있는 공간을 의미한다.
git add [올릴 파일이나 경로] 명령으로 현재 프로젝트의 각 파일의 변경사항을 추적해서 staging area로 올릴 수 있다. 만약 프로젝트 초기에 .gitignore 파일을 생성하지 않고, git add 명령을 사용한 경우에는 add 할 필요 없으면서 용량을 많이 차지하는 파일들이 저장소에 보관될 수 있다. add 할 필요 없는 폴더를 node_module라고 가정하면, git rm --cached node_module과 같은 명령을 통해 staging area에서 내릴 수 있다.

2) Staging area

변경사항이 로컬 저장소에 커밋되기 전에 저장되는 공간을 의미한다.
이 영역은 다른 버전관리도구와는 달리 git에만 존재하는 영역으로 일부분만 커밋하고 싶다던지, 충돌이 난 경우의 해결을 한다던지, 커밋을 다시 하는 등의 과정에서 유용하게 쓰일 수 있다.
만약, 현재 staging area에 올라와 있는 변경사항들을 보고 싶다면 git status 명령을 사용할 수 있다. 그리고 이 변경사항들을 git commit 명령을 통해 로컬 저장소에 적용할 수 있다.

3) Git repository - local (로컬 저장소)

git push -u origin [적용하려는 원격 저장소의 branch] 명령을 통해 원격 저장소의 특정 브랜치에 해당 변경사항들을 푸시(발행)할 수 있다. 여기서 사용하는 -u 옵션은 원격 저장소로부터 해당 브랜치를 업데이트 받은 후 push 하겠다는 의미이다.

4) Git repository - remote (원격 저장소)


3. 관리대상 X (untracked)과 관리대상 (tracked) 비교

1) 관리대상 X (untracked)

Working Directory에만 있고, add나 commit을 한번도 하지 않은 상태.

2) 관리대상 (tracked)

(1) Staged : untracked 파일이나 modified 상태인 파일을 staging area에 아직 올리지 않은 경우. (Source tree 기준 커밋 전 stage 위에 올려둔 상태)
(2) Modified : tracked 한 상태의 파일을 수정한 상태. (변경이 있는 경우.)
(3) Unmodified : tracked 한 상태의 파일을 수정하기 전 상태.



해당 글 작성에 참고한 링크.

https://webclub.tistory.com/317

profile
망한 개발자의 개발 기록입니다. 저를 타산지석으로 삼으시고 공부하세요.
post-custom-banner

0개의 댓글