본문 바로가기

CS+/리눅스

(우분투) 깃, 깃허브 입문하기 1일차

깃 사용법에 대한 정리 포스팅입니다. 

이고잉 님의 저서 '지옥에서 온 문서 관리자 깃&깃허브 입문' 책과 유튜브 강의를 토대로 정리합니다. 

 

 깃의 핵심 기능은 3가지입니다. 

 

1) Version Control 

 

- 원래의 코드로 작업을 하다가 '다른 이름으로 저장'하는 방법을 주로 사용합니다. 그리고 날짜나 ver01 , ver01_2 이런식으로 작업한 코드들의 여러 버전을 남깁니다. 저의 경우는 ipynb 형식의 소스를 이런 식으로 관리하는데  이러한 작업이 100개 , 1000개 넘는소스들을 이런 식으로 저장한다면 어떤 코드에서 어떤 내용을 수정했는지 기억하기가 힘듭니다. 반면 깃은 문서를 수정할 때마다 언제 수정했고, 어떤 것을 변경했는지 구체적으로 기록하기 위한 버전 관리 시스템입니다. 

 

2) Backup

 

- 언젠가 우리의 컴퓨터는 '고장'납니다. 불행하게도 우리는 '언제' 우리의 컴퓨터가 '고장'날지 모릅니다. 다만 오늘이 아닐 뿐입니다.

그래서 우리는 반드시 '백업'을  해야합니다. 

 

출처:https://www.youtube.com/watch?v=hr-T5mdIigg&list=PLuHgQVnccGMCNJESahrVV-uYGMNYK_vMf&index=5

위 그림에서 my는 우리 자신의 컴퓨터(로컬저장소)이며 github.com 은 원격저장소입니다. 

 

만약, my1 에서 작업한 코드를 github.com 이라는 원격저장소로 백업한뒤(=push) 이를 

my2 가 다시 원격저장소와 연결한다면 그 작업물을 다시 가져올 수 있습니다. (=pull) 

 

굳이 코딩이 아니여도 우리는 구글드라이브나 n드라이브로 과제같은 걸 할 때, 서로 작업한 결과물을 그곳에 공유하고, 

그것을 다운받고 하는 경우가 있을 겁니다. 깃과 깃허브도 유사한 사용방식입니다.

 

3) Collaboration 

 

출처:https://velog.io/@devzunky/wecode-TIL-6%EC%9D%BC%EC%B0%A8-Git-Basic-2-5xk1dcgfob

 

백업 부분의 설명을 듣다보면 자연스레 협업이 이루어진다는 느낌이 들겁니다. 

깃허브를 사용하면 여러 사람이 함꼐 일할 수 있다는 장점이 생깁니다. 

누가 어느 부분을 어떻게 수정했는지 기록에 남기 때문에 나중에 오류가 생겼을 때도 파악하기 쉽습니다. 

 

'만약 두 사람이 같은 파일의 같은 행을 수정하면 어떻게 될까?' 추후 배우겠지만 깃은 이렇게 협업 과정에서 일어날 수 있는 여러 문제를 중간에서 정리해 주는 기능도 가지고 있습니다. 

 

버전 관리 -> 백업 -> 협업 

 

순서로 깃을 배워야합니다. 

 

+) 깃 프로그램 종류 

-깃허브 데스크톱, 토터스깃, 소스트리 등등 

 

git  이 설치되면 터미널에서 git 을 입력하면 위처럼 문구들이 나옵니다. 

 

+)리눅스 명령 연습

터미널에서 깃을 사용하기 위해서는 리눅스 명령을 알아야합니다. (리눅스 명령어 포스팅은 별도로 다뤘습니다. 

 

cat 명령을 사용해서 txt 파일의 내용을 확인할 수 있습니다.

 

빔에는 문서를 작성하는 '입력 모드'와 문서를 저장하는 'ex모드'가 있습니다. 빔은 처음에 'ex모드'로 열리기 때문에 키를 눌러도 반응이 없습니다. ex모드에서 'i' 또는 'a'를 눌러 입력 모드로 바꿔야 합니다.

입력 모드에서 텍스트를 입력 및 수정한 뒤 Esc 키를 눌러 ex 모드로 전환해야 합니다. 

그후 ':wq' 명령을 입력하고 종료합니다. 'w' - 저장 , 'q' - 종료 를 실행하는 명령어입니다. 

 

 

교재 01-3 에 있는 리눅스 명령어를 간단하게 실습해보았습니다. 

 

이것으로 1장은 마칩니다. 

02-1 깃 저장소 만들기

깃 초기화하기 - git init

깃 저장소를 만들 디렉터리를 하나 새로 만들겠습니다. 해당 디렉터리로 이동합니다. 

 

ls -la 명령을 입력하면 마침표가 하나(.) 항목은 현재 디렉터리를 나타내고, 마침표가 두 개(..)인 항목은 상위 디렉터리를 나타냅니다. 아직 아무것도 만들지 않아서 파일은 하나도 없습니다. 

 

$ git init

깃을 사용할 수 있도록 디렉터리를 초기화하는 것입니다. 이후 다시 ls -la 명령어를 입력하면 '.git' 이라는 디렉터리가 생겼습니다. 이 디렉토리가 깃을 사용하면서 버전이 저장될 저장소(repository) 입니다.

 

GUI 탐색기에서 숨겨진 디렉터리를 보려면 

Ctrl + h 

를 누르면 숨겨진 파일을 확인할 수 있습니다. 

 

---------------------------------------------------------

 

1일차 포스팅은 여기까지 하겠습니다 :) 

2장 내용이 좀 많아서 1일차 포스팅이므로 조금 가볍게 여기까지만 하겠습니다.