개발/.git

[깃 입문 2]- 깃의 사용( git init, add, commit )

ebang 2022. 12. 31. 23:00
반응형

2.  git의 사용

약간의 복습을 해보겠다.

git은 컴퓨터, 기계에 저장만 되어있다면 인터넷 없이도 사용할 수 있다. 

흔히 하는 착각이 git이 클라우드 처럼 사용할 수 있는 '저장소'역할이기 때문에, 마구잡이로 자기가 쓴 코드나 글을 올려두는 용도로 사용하고는 한다.

 

하지만 git은 그 목적이 '버전 관리 시스템'이다. 

무려 git은 Linus Tovalds(LINUX 창시자)가 오픈소스(모두가 볼 수 있는, 사용할 수 있는) 버전 관리 시스템을 만들어보겠다고 시작한 이 서비스이다.

이런 서비스를 저장소로만 이용된다면 조금 아쉽지 않겠는가? 

 

심지어 git은 인터넷 없이도 사용할 수 있다.

오로지 내 컴퓨터 안에서 git이라는 프로그램을 이용해 내 파일들의 변화를 관리할 수 있는 것이다!

 

 

본론으로 가보자. 

 

git 사용법은 다음과 같다. 

 

https://ebang.tistory.com/30 에서 기본적인 설명을 해두었다. 

이 시간은 그 설명에 해당하는 명령어를 하나씩 대입해보는 과정이다.

 

0. git으로 파일 관리 시작하기

git init

이 명령어를 사용하면 empty repository를 생성하게 되며,  (프로젝트를 하나 생성했다고 보면 됨)

딱히 변화가 보이지 않는다. 

그러나 

ls- a

명령어를 써보면 원래 없던 .git 폴더가 생긴 것을 볼 수 있다.  (.으로 시작하는 파일 명은 평소엔 숨겨져 있다.)

이 파일 내에서 git이 정보를 저장하고서 파일들을 관리하는 것이다. 

 

 

 

 

1. 변화들을 한데 묶어 stage에 올리기 :  

git add file1.txt directory/

git add 명령어 뒤에 스페이스로 구분된 파일, 또는 디렉토리(이 경우 디렉토리 안의 모든 파일이 자동으로 선택된다.)

 

이 작업에 해당한다.

 

 

2. stage에 뭐가 있는지 확인하기:

git status

추적중인 파일이라면, 삭제된 것, 수정된 파일이 뜬다. (추적 중인 파일 == 한번 commit했던 파일)

추적 중이지 않는 파일이라면, Untracked files에 목록으로 등장한다. 

 

추적 파일 중에 무엇이 변경되고 삭제 되었는지, 추적되지 않는 파일이 뭐가 있는지 보여준다.

 

 

3. 커밋하기 (변화 땅땅하기)

git commit -m "message"

어떤 변화를 주고서 커밋을 하는 건지, -m 옵션으로 " "안에 설명을 넣을 수 있다. 

 

이렇게 묶어서 '개요변경'이라는 메세지로 commit하면

 

commit 메세지를 저장하면서 commit할 수 있다.

그냥

git commit

명령어만 사용할 경우, 터미널의 기본 편집기가 열린다. 

 

 

 

 

 

* mac의 경우 vim이 열리는데, (i를 눌러서 insert mode에 진입해서 글을 적고, esc + :wq를 입력해 빠져나올 수 있다.)

기본 편집기를 변경하고 싶다면 git의 documents  사이트로 들어가서 명령어를 복사해올 수 있다. 

(아래에 참조)

가령 visual studio code로 변경하고 싶다면 

아래 명령어를 git이 있는 폴더 터미널에 사용하면 된다.

 

 

 

 

3. git의 특징

- 인터넷 없이 사용할 수 있다.   (인터넷 사용을 한다고 생각한다면, 그것은 github과 연결된 기능일 것이다. )

-  한번 git을 이용해 폴더 내에 repository를 만들었다면, 해당 폴더의 모든 하위 폴더 (subdirectory)들도 git에게 추적된다. 

 

 

 

 

 

오늘은 git init, git add, git commit에 대해서 배웠다. 

- 다음 시간에는 git commit 수정, git log, git ignore 에 대해서 알아보도록 하겠다.

 

* 다음 시간 바로 보러가기 >>   

 

 

 

 

Reference

* git documents - 기본 편집기 수정하는 코드 

https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Setup-and-Config

 

 

 

반응형