[Git] Git fork를 이용한 git 기초
by HeshAlgo1. Git 이란?
- 로컬에서 관리되는 버전 관리 시스템 (VCS : Version Control System)
- 깃에서 버전이란 문서를 수정하고 저장할 때마다 생기는 파일
2. Git의 세 가지 상태
1) Working tree
- 내가 코드작업을 하는 공간
- 즉, 변경사항이 생기는곳으로 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태
2) Staging
- 버전이 될 후보들이 올라오는 공간
- 즉, 수정할 파일을 곧 커밋할것이라고 표시
3) Repository
- 데이터가 로컬 데이터베이스에 안전하게 저장
Working Tree에서 파일을 수정하면 Staging에 파일을 대기시킵니다. 스테이징에서 존재하는 파일 중 Repository에 올리고 싶은 파일만 선택해 커밋으로 Git 디렉토리에 영구적인 스냅샷으로 저장이 됩니다.
3. 저장소 생성 방법 (Gitfork 활용)
1) Github에 저장소 생성
자신의 Github페이지의 오른쪽 상단에 +모양을 클릭하시면 New repository가 있는 것을 보실 수 있습니다.
아래와 같이 New repository를 클릭하게 되면
이렇게 Create a new repository페이지가 생성되고 오른쪽과 같이 추가시켜주면 됩니다.
그러면 이렇게 아래와 같이 나만의 저장소를 생성된 모습을 보실 수 있게 됩니다. 그러면 이제 Git fork에도 이 생성된 저장소 주소를 복사해 추가하는 작업을 해보겠습니다.
2) Git fork에 저장
초록색 버튼의 Code를 클릭하시면 위 그림과 같이 Clone이라는 하나의 창이 생성되고 주소가 생성되는 모습이 보이실 것입니다. 그러면 주소 옆의 버튼을 클릭하면 적혀있는 주소를 복사하실 수 있으실 것입니다.
Git Fork로 돌아와 File -> Clone을 클릭하시면
이렇게 자동적으로 주소가 들어가지게 됩니다.
Parent Directory는 가장 최상위 디렉토리가 될 것이므로 자신이 원하는 폴더의 디렉토리로 지정시키면 되겠습니다.
4. Tracked와 Untracked
- 작업트리에는 크게 Tracked(관리대상O)와 Untracked(관리대상X)로 나눈다.
1) Tracked
-> 이미 스냅샷에 포함돼 있던 파일
-> Unmodified
-> Modified
-> Staged
위 상태 중 하나이다.
2) Untracked
-> 스냅샷에도 Staging Area에도 포함되지 않는 파일
처음 저장소를 Clone 하면 모든 파일은 Tracked이면서 Unmodified 상태이다. 파일을 Checkout 하고 나서 아무것도 수정하지 않았기 때문이다.
※ 스냅샷이란??
- 특정 시점에서 파일, 폴더 또는 워크스페이스의 상태를 의미. 즉, 특정 시점에 어떤 파일에 어떤 내용이 기록되어 있었는지, 폴더 구조는 어떠했는지, 어떤 파일이 존재했는지 등 저장소의 모든 정보를 확인. Git에서는 새로운 버전을 기록하기 위한 명령인 Commit을 실행하면 스냅샷이 저장된다.
Tip) git 명령어
$ git add : working tree -> staging
# 좀더 길고 상세하게 커밋 메세지를 남기고 싶을경우 git commit만 실행
$ git commit -m "commit message" : staging -> repository
$ git init : git을 시작하겠다는 명령어
$ git status : 버전관리가 되고있는 해당 폴더의 상태를 알려달라는 명령어
$ git log : git 로그 확인
$ git config --list : 현재 git 설정 상태 확인
출처
1. Git & GitHub교육 - 신승엽 강사님
2. https://git-scm.com
'Git' 카테고리의 다른 글
[Git] diff와 revert 사용하기 (0) | 2022.09.03 |
---|---|
[Git] Reset 명령어 사용하기 (0) | 2022.08.29 |
[Git] Git fork를 이용한 Branch (0) | 2021.02.04 |
블로그의 정보
꾸준히 공부하는 개발 노트
HeshAlgo