개발을 배우면서 항상 가장 먼저 시작하는 것이 'Git'이었다. 그러나 난 대강 버전 관리 시스템? 클라우드? 이런 식으로 대충 알고 넘어갔고, 사용법도 대충만 정리했다. 오늘부터 일주일간은 git에 대해 탐구하고 정리하는 시간을 가지려고 한다.
Git은 '분산버전관리 시스템'(DVCS)으로, 소프트웨어 개발 과정에서 소스 코드의 변경을 추적 및 관리하는데 사용되는 시스템이다. git은 동시 작업과 변경 소스 관리를 효과적으로 할 수 있다는 장점을 가지고 있다.
GitHub는 git을 기반으로 한 웹 호스팅 서비스로 개발자들이 협업하고 소스 코드를 공유할 수 있는 플랫폼을 제공한다. 깃허브를 통해 프로젝트를 공개, 비공개로 관리할 수 있고, 이슈 트래킹이나 풀 리퀘스트 등의 기능을 사용할 수 있다고 한다.
깃은 source에 대하여 merge, rebase(병합) / reset, commit, branch(리비전 관리) / push(릴리즈) / tag(태깅) / diff, log(변경사항 검토)의 역할을 한다.
정리하자면 깃은 로컬에서 관리되는 버전 관리 시스템으로 로컬 저장소를 사용한 시스템이다. 깃 허브는 이러한 깃 시스템을 기반으로 서버를 통해 저장, 공유하는 역할을 하는 웹 호스팅 서비스인 것이다.
방법은 크게 두 가지 있다. 로컬 git과 github를 연결하기와 github에서 레파지토리를 생성한 다음 클론하여 사용하기다.
전자를 먼저 보면 git 설치와 github 계정을 생성해야 한다.
git --version으로 깃의 버전을 확인한 후, git init로로컬 저장소를 생성해준다. 이때 원하는 장소에 저장해야 하기 때문에 cd 명령어를 이용해 원하는 장소에 위치한 후 실행하면 된다.
그 후 git repository를 생성한다. New - Create repostiory - 내용 작성 순서로 생성하면 된다.
이제 로컬 git과 github를 연결해야 하는데, git remote add (원격저장소 별칭) (git repository URL)을 입력해주면 된다.
잘 연결되었는지 확인하려면 git remote --verbose를, 이름을 변경하려면 git remote rename (기존명) (바꿀명)해주면 된다.
원격 연결을 해제하려면 git remote remove (이름)으로 해제할 수 있다.
이제 후자의 방법은 쉽다. 아까처럼 github에서 레파지토리를 생성하고, 내 계정에 컴퓨터의 ssh key를 입력해주고 clone해주면 된다.
sshkey를 출력하는 방법은 terminal에 ssh-keygen을 입력하고 출력된 문서를 cat명령 cat ~/.ssh/id~.pub을 통해 출력해주고, 이를 깃허브에 등록해주면 되는 것이다. 이후 git clone ~으로 레파지토리를 끌고와주면 끝난다.