본문 바로가기
git

<1> 생활코딩 - Git

by ChaeLOTUS 2022. 11. 4.
728x90

GIT = Version Control System (버전 관리 시스템)

 

 


실습 환경

1. terminal 에서 git을 설치. 

이렇게 세팅하고 실습 시작.
여러가지 상황에서 자주 사용되는 깃 명령어.

init : 현재 티렉토리에다가 내가 작업을 진행하겠다라는 것을 깃에게 알려주는 기능.

 

터미널에 git init 이라 입력하면 '.git' 이라는 디렉토리에 깃의 저장소를 초기화 했다라는 내용이 뜬다.

 

ls -al : 현재 디렉토리의 파일 목록을 보여주는 기능.

 

ls -la 을 입력했을 때 '.git' 이라는 디렉토리가 생겼다는 것을 확인 해야 함.

'.git' 이라는 디렉토리는 버전관리를 하게 되면 여러가지 정보들이 생성 되는데 생성된 정보는 '.git'이라는 디렉토리에 저장이 된다.

 

버전관리

현재 디렉토리에 생성하고 'vim'이라는 에디터를  사용할 것이다. 이 에디터는 명령어 시스템에서 대부분 설치되어 있기 때문에 어디서나 쓸 수 있다는 장점이 있다. 단점은 사용하기가 조금 까다롭다.

 

이제 'f1.txt' 라는 파일을 만들고 그 안에 1을 써볼 것이다.

 

vim f1.txt  => vim이라는 프로그램으로 f1.txt라는 파일을 편집하겠다.

 

이렇게 뜨고 어떤 것을 눌러도 입력 되지 않는다. 왜냐하면 지금 이 상태는 입력모드가 아니다. 여기서 i를 누르면 밑에 글씨가 INSERT가 뜨면서 이제는 무언가를 입력할 수 있는 상태가 된다.

 

 

 

내용을 입력하고 esc키를 누르면 다시 명렁어를 입력하는 모드가 된다. 이 상태에서 :을 입력하고 지금 작성한 내용을 저장 하고 싶다면(w), 동시에 프로그램을 종료하고 싶다면(q) 프로그램에서 빠져나가면서 ls -al을 눌러서 'f1.txt'라는 파일이 어떻게 되었는지 확인한다.

여기서 파일의 내용을 보고 싶다면 다시 'vim f1.txt'를 해도 되지만 'cat f1.txt'라고 입력하면 바로 해당 내용이 보여진다.


버전관리를 하기 전에 제일 먼저 익혀야 된 명령어는 'status'라는 명령이다.

내 노트북은 한글로 나오지만 영어로 나오는 사람들은 untracked file 이라고 나올 것이다. 추적되지 않다 라는 의미이다.

즉, 'f1.txt'라는 파일은 버전관리가 되고 있는 디렉토리인 'gitfth'안에 존재 하지만 이 파일을 깃한테 버전관리를 시작해라고 얘기하기 전까지는 깃은 f1.txt라는 파일을 무시한다. 그럼 깃에게 이거 관리해 라고 얘기해줘야 하고 그게 'git add f1.txt' 이다. 그리고 'git status'를 입력하면 new file 이라고 뜨고 새로운 파일이다 라고 깃이 인식하기 시작한다.

이런식으로 새로 추가한 파일은 우리가 'add' 명령을 통해서 깃에게 명확하게 이걸 추적하라고 얘기해줘야 한다.

왜 이런 기능이 필요하냐면, 우리가 프로젝트를 하다보면 프로젝트에 핵심적인 파일이 있고 프로젝트를 개발하거나 테스트하거나 이럴 때 임시적으로 필요한 파일들이 있다. 그 중에 임시로 필요한 파일은 우리가 버전관리를 하면 안된다. (그것은 포함되면 안되는 파일이기 때문에) 그런 파일을 배제하기 위해서 우리가 관리해야 되는 파일이 무엇인가를 명확하게 깃에게 알려주는 것이다.

 


버전 : 의미 있는 변화를 의미. 어떤 작업이 있으면 그 작업이 완결된 상태가 버전.

 git status : 지금 저장소에 상태가 어떤지 실펴볼 때 사용하는 명령

 

그런데 여기서 실제 버전을 만들기 전에 깃을 처음 쓰는 상황이라면 해야 할 일이 내가 지금부터 작성할 버전들이 내가 만든 것이라는 것을 다른 사람에게 알려 주기 위해서 이름을 세팅해야 한다.

 

git config --global user.name lotus (user.name 뒤에 자신의 닉네임이나 이름을 적어줌)

git config --global user.email ~~~~@~~~.com

이렇게 입력하면 내가 작성한 버전은 내가 입력한 이름과 이메일 주소를 포함하고 있는 버전이 되기 때문에 다른 사람이 봤을 때 이게 누가 적업했는지 알 수 있게 된다. 이 작업은 딱 한 번만 하면 된다.

 

이제 이 상태에서 git commit 을 입력하면 빔이 실행된다. 그리고 그 밑에는 git status때 나오는 내용이 보여진다.

( # 으로 되어 있는 부분은 나중에 무시되는 내용이니 참고 삼아 보자)

 

여기에다가 이제 내가 현재 버전의 메세지를 적는다. 버전의 메세지 라는 것은 이 변화가 어떤 변화를 담고 있는지, 이 파일들이 왜 변경 되었는지 이유를 적는 것이 버전 메세지 또는 커밋 메세지 이다.

 

입력하기 위해 i를 누르고 밑에 글씨가 INSERT로 변경되면 1( 버전 1이라는 뜻) 을 적고 다시 esc누르고 :wq를 입력한다.

f1.txt라는 파일이 새로운 버전이 되었다라는 메세지.

 

이제 버전이 잘 만들어졌는지 확인하기 위해 git log   를 입력하면

숫자 1이라는 버전 메세지가 들어있는 버전이 생성된것을 볼 수 있고, 이 버전을 작성한 사람은 lotus 이고 그 사람의 이메일, 그리고 언제 버전을 만들었는지와 같은 중요한 정보들이 담겨있다.

 

이제 다시 아까 배운것을 토대로 버전을 변경해보자.

vim f1.txt에 들어가서 souce :1 에서 2로 변경하고 저장하고 나오자.

그리고 상태를 확인하는 git status를 입력하여 보니 이제는 빨간 글씨로 f1.txt가 수정되었다고 나온다.

하지만 정말 주의해야할 점

여기서 바로 commit을 하면 안되고 git add f1.txt를 또 실행 시켜서 다시 버전관리 시스템한테 add를 시켜줘야 한다.

 

깃에서 어떤 새로운 파일이 생겼을 때 그 파일에 대한 버전 관리를 깃에게 명령 할 때도 add를 사용한다.

그리고 어떤 파일에 이미 버전 관리가 되고 있는 파일이 수정 돼서 수정이 끝나고 버전을 생성할 때도 add를 또 해줘야 한다.

=> 최초로 추절할 때도 add를 해야하고 파일이 수정 돼서 버전을 만들기 전에도 add를 먼저 해야한다.

 

 

 

 

 

 

 

728x90

'git' 카테고리의 다른 글

<6> 생활코딩 - GIT  (0) 2022.11.25
<5> 생활코딩 - GIT  (0) 2022.11.24
<4> 생활코딩 - GIT  (0) 2022.11.21
<3> 생활코딩 -GIT  (0) 2022.11.11
<2> 생활코딩 - GIT  (0) 2022.11.07

댓글