프로그래밍/Git 허브 관리

2강. Git 기본기 장착

1son 2022. 8. 5. 15:23

RacingGround 폴더를 만들어봅니다. 

 

Visual StudioCoe를 사용할 건데요 여기서 작업하던 노드 리액트는 일단 위치를 기억해 놓고 다른 파일을 만들어보겠습니다. 

 

 

프로젝트 디렉토리

(깃명령어는 프로젝트 디렉토리 안에서 실행해야 함)

2:39

vs에서 해당 폴더를 열어줍니다. 

 

코드를 쳐볼건데 우리는 코드에 집중하는 것이 아니라 깃을 볼 겁니다!!

 

BasicCar를 만들었습니다. 

색상과 최고속도를 정의할 수 있습니다. 

 

추가적으로 이 Racing을 설명할 수 있는 파일을 만들겠습니다. 

이제 git 명령어로 버전관리를 해보겠습니다. 

 

터미널을 열어서 

git init

 

근데 이 디렉토리 들어가보면 git 파일 없음

 

2. 깃 사용자 정보 설정

git config user.name "memoming"

git config user.email "memoming@dev.gmail.com"

 

이렇게 설정을 해두면 우리가 프로젝트 디렉토리에 버전을 남길때마다 그 버전을 남긴사람의 정보에 방금적인 이름과 이메일이 설정됩니다. 

 

이제 현재 프로젝트 상태를 버전1으로 저장해봅시다. 

 

이렇게 깃에서 특정버전을 저장하는 행동을 -> 커밋한다 

그 특정 버전을 커밋이라고 합니다. 

 

커밋하기에는 3가지 영역으로 작동한다.

 

1. Working Directory _ 프로젝트 디렉토리 자체를 얘기합니다. 

2. Staging Area _ 특정버전으로 관리하고 싶은 파일들을 모아두는 장소 입니다. 

 

3. Repository_ 특정시점에 Staging Area의 모습을 커밋으로 남기면 그 커밋들이 저장되는 영역

 

실제 디렉토리인 working directory에서 파일을 생성하거나 코드를 작성하는 등 이런저런 작업을 하다가 커밋을 하고 싶어졌다고 합시다. 

그럼 지금 커밋을 남기고 싶은 모든 파일들을 Staging Area에 올립니다. Staging Area에 파일들을 올린상태에서 커밋 명령어를 실행하면 그대로 하나의 커밋으로 Repository에 저장됩니다. 

바로 이런식으로 커밋들이 순차적으로 Repository에 저장됨으로써 버전관리를 할 수 있게 되는 것입니다. 

 

Staging Area에 올릴 때는 git add. 를 사용합니다. 

수정한 것들이 다 올라갑니다. 

 

나중에 팀원들이 커밋메시지를 보기 때문에 자세하고 친절하게 남겨주는 것이 좋습니다. 

 

?? 여기서 궁금한 점이 생길 수 있습니다. ??

 

왜 working directory에 있는 파일들을 바로 Repository에 넘기지 않고 중간에 Staging Area라는 영역을 거치게 한 것일까요? 그 이유는 지금 당장 커밋을 남기고 싶지 않은 파일이 있을 수있기 때문입니다. 

 

 

두번째 커밋을 하기 위해 코드를 수정해보겠습니다. 

price를 추가했습니다. 

 

Readme 파일도 수정해주었습니다. 

이제 두번째 커밋을 남길 건데 우리는 두개의파일을 변경하기는 했지만 아직 ReadME파일은 아직 커밋할 때가 아니야 (크게 다른게 없어서) 그렇가면 BasicCar파일만 Staging Area에 올리면 됩니다. 

git add 뒤에 특정 파일 이름만 적어주면 해당 파일만 올릴 수 있습니다. 

 

 

이 상태에서 두번째 commit을 해볼게요 

정말로 두번째 commit에는 readme파일의 최신 모습이 반영되지 않은 걸까요?

 

커밋의 기록을 보고 싶을 때 git log 라는 명령을 보면 됩니다. 

이때까지의 커밋들을 시간순서대로 볼 수 있습니다.

 

commit 뒤에 있는 암호같이 생긴 것들은 commit id 입니다. 

이제 두 커밋을 비교해보겠습니다. 

앞 4자리 정도만 적으면 되는데요 

 

이 줄이 추가가 됐다는 거죠 

readme 파일에서 추가해줬던 exciting 이라는 단어는 나오지않습니다. 

 

readme 파일을 staging area에 올리지 않고 커밋을 했기 때문이죠 

 

 

---

이번 시간에 배운 명령어는 기본중에 기본이니까 잘 복습하세요 

 

 

본 영상은 저작권법에 의하여 보호받는 저작물로 해당 영상과 각종 콘텐츠에 대한 모든 저작권은 한국정보산업연합회에 있습니다. Copyright 2021. 한국정보산업연합회 All rights reserved.