디자이너의 git & github 고군분투 정복기 2
dev

 

01

Git 동작 흐름과 구성 요소

 

 

[local 영역] = 자기자신

- working directory : 현재 작업중인 프로젝트가 위치한 디렉토리. 모든 작업은 여기서부터 시작. 내가 작성한 코드들이 담긴 파일이라고 보면 됨. (명령어 init)

- staging area : commit 할 파일의 예비 저장소.

  *commit : 소스가 변경되거나 새로 작성이 되면 사진찍듯이 로컬 저장소에 저장됨. 이 1건의 커밋으로 변경되는 것을 버전이라고 함.

- local repository(저장소) : 존재하지만 눈에 보이지는 않음. working directory로부터 커밋한 내용들이 저장. 특정 시점의 변경사항으로 돌아갈 수 있음. (복원 가능)

 

[remote 영역]

- github 등 외부에 위치한 원격 저장소

 

 

02

로컬 git 저장소 생성

 

step1)

$ git init

나의 프로젝트가 위치한 곳으로 이동 후 터미널에서 명령 실행 (보안사고 유의!)

 

step2)

.gitignore 파일 추가

신분증이나 민감 정보를 드라이브에 저장하는 것은 해킹 위험 있음. 따라서 이런 파일을 무시하는 명령어가 필요함.

.gitignore 파일을 만들고, git에서 무시해야 할 파일을 입력하면 무시됨.

보안상 민감 정보, 각종 설정 파일, 빌드 산출물, 개발용 db 등이 무시할 파일들임..

 

step3)

$ git status

현재 어떤 파일이 추적되고 있는지, 예비 저장소에 어떤 파일이 들어있는지를 알 수 있는 명령어

 

step4)

$ git add .     : 현재 위치의 모든 파일을 add한다는 뜻

$ git add "<파일명>"

나의 프로젝트 중 버전관리에 반영할 파일 지정. 버전관리에 반영된 파일의 영역이 staging area.

 

step5)

$ git commit -m "<message>"

협업 중 이런 메시지 작성이 중요함.

commit에 대한 정보 기록. 버전관리 때문에 이런 message를 남기는 것!

 

---여기까지는 내 local 저장소에만 저장되어있음---

로컬 저장소에 변동 기록을 남기기 위해 commit 실행.

 

 

step6) (옵션)

$ git branch -M main

branch는 독립적인 공간이라고 보면 됨.

이렇게 독립적인 공간에서 각기 다른 개발자들이 (멀티버스처럼) 작업할 수 있음.

 

main / master

- 즉시 운영 배포할 수 있는 버전

- 사용자가 지금 이용 중인 코드 (기본브랜치)

 

staging

- 상용에 반영하기 전 테스트 버전

 

feature

- 새로운 기능 추가 개발 (병렬 작업)

 

이렇게 하고

$ git remote add origin https://github.com/miinzzoo/test.git

를 통해

 

 

확인!

 

 

 

-

깃 정복할 수 있는거 맞나 ㅠ

배웠는데 잊고 살았던 (익숙한) 코드들이 떠오르며 깃 공포증이 스멀스멀 올라오는 중...