Git 사용법 익히기!
1. Git 이란..?
Git은 linux의 아버지(?) 리누스 토발즈가 개발한 버전관리시스템으로
많은 프로그래머들이 사용하고 있습니다.
버전관리시스템은 파일의 변화를 시간에 따라 저장소에 기록해두었다가
추후에 특정 시점의 버전이 필요해졌을 때 다시 꺼내올 수 있게 하는 시스템을 말합니다.
학교에서 조별과제를 진행하면서 파일의 이름이 계속 길어진다거나 (발표자료_마무리_최종_last_진짜.ppt)
다른 부서에서 받은 파일의 버전이 업데이트될 때마다 왠지 모를 불안감에
날짜 정보를 입력한 이전 버전 문서를 폴더 가득 채워 넣어 보신 적이 있으실 텐데요!
이렇게 되면 문서를 제대로 구별해내기 힘들어져서, 필요할 때 바로 해당 문서를 찾기가 어려워지는데
git은 사용하면 이런 문제들을 고민하지 않고 필요한 버전의 파일을 간단하게 꺼내올 수 있습니다.
2. Git Process
git을 사용하기 위해서 먼저 git이 파일들을 어떻게 다루는지 알아볼 필요가 있습니다.
그림을 보면 원형 상자 4개가 보입니다.
가장 왼쪽에 있는 work space는 현재 자신이 작업하고 있는 디렉터리이고,
가장 오른쪽에 있는 remote repository는 각 팀원이 네트워크를 통해 접근할 수 있는 공유 저장소입니다.
프로젝트를 같이 진행하는 팀원은 remote repository에서 각자의 work space로 필요한 데이터를 가져와서 수정하고
수정사항을 다시 기록할 수 있습니다.
여기서 주의 깊게 봐야 할 것은 remote repository에서 가져오는 것이 파일 하나가 아니라 저장소 전체라는 점입니다.
만약 데이터가 필요할 때마다 해당 데이터만을 네트워크를 통해서 가져온다면, 네트워크 연결이 불가능한 상태에서는
작업을 할 수 없게 됩니다.
이러한 상황에서도 작업을 할 수 있게 하기 위해서 git은 local repository에 remote repository를 모두 가져와서
저장해두었다가 필요한 데이터를 work space에 전달하는 방식을 사용합니다.
반대로 work space에서 파일을 수정했다면 수정한 내용을 local에 저장했다가 네트워크에 연결 가능할 때 remote에
업데이트할 수 있습니다.
index는 (stage라고 부르기도 합니다.) work space에서 수정한 내용을 local repository로 보내기 위한 임시 저장소입니다.
수정한 파일들을 index에서 한 번에 확인이 가능하게 하고, work space에서 바로 local repository로 바로 이동시키는 경우에
발생할 수 있는 데이터 손실을 예방해줍니다.
3. Git 사용을 위한 기본 설정
git을 사용하려면 먼저 설치한 후에 사용자 등록을 해주어야 합니다.
터미널을 실행해서 $ sudo apt install git-all 명령어를 입력하면 git을 설치할 수 있습니다.
설치가 완료되었다면 터미널을 아래의 두 가지 명령어를 입력하여 사용자의 이름과 이메일 주소를 등록할 수 있습니다.
$ git config --global user.name "이곳에 사용자 이름을 입력합니다." $ git config --global user.email 이곳에 이메일 주소를 입력합니다. |
$ git config --list 를 입력하여 입력된 내용을 확인할 수 있습니다.
사용자 정보를 입력했다면 이제 local repository를 만들 차례입니다.
저장소를 만드는 방법은 두 가지가 있으므로 한 가지 방법을 선택해서 만들 수 있습니다.
1. 버전 관리를 시작하지 않은 디렉터리 하나를 선택해서 Git 저장소를 적용하는 방법
- 터미널에서 저장소로 지정할 디렉터리로 이동하여 $ git init 을 입력한 후에
- $ git remote add 사용할 별명과 remote repository 주소를 입력합니다.
- ex) $ git remote add orign https://github.com/유저아이디/저장소이름.git
2. 다른 remote repository 에서 git 저장소를 복제하는 방법
- github에서 remote repository를 생성하거나 다른 사람의 repository의 주소를 저장합니다.
- $ git clone 저장소 주소
- ex) $ git clone https://github.com/유저아이디/저장소이름.git
저장소가 만들어졌으니 이제 작업할 파일을 생성 및 수정하고 그 내용을 local 및 remote에 반영할 수 있습니다.