티스토리 뷰

Git 공부

Git Github 사용법

on1ystar 2019. 3. 18. 22:58
728x90
반응형

Github 소개


깃허브(https://github.com)는 깃을 이용하는 프로젝트를 위한 원격 저장소를 오픈 소스로 제공해주는 무료 서비스다.

무료로 서비스를 제공하는 대신, 철저한 "오픈소스"를 원칙으로 하기 때문에 자신의 프로젝트를 공유하고 다른 사람의 프로젝트 역시 쉽게 볼 수 있을 뿐 아니라 원하는 프로젝트에 참여도 할 수 있다.

이 때문에 개발자들의 성지로 불리고 있고, 소스코드를 서로 공유하는 방식은 더 나은 소프트웨어를 만들 수 있는 지름길이면서 다른 사람들이 내 소스코드를 공유해 갈 수 있다는 동기 부여도 된다. 또 공부하는 입장에서 잘 짜여진 코드를 마음껏 볼 수 있다는 부분은 매우매우 축복인 것이다. 그들의 이러한 열려있는 마인드는 본 받아야 할 점이다.

프라이빗으로 이용하기 위해서는 달마다 어느 정도의 돈을 지불해야 했는데, 최근에 마이크로소프트사가 인수를 하면서 프라이빗 서비스도 무료로 제공한다고 한다.

깃허브 사이트에 접속해서 먼저 git이라고 검색을 하면 현재 널리 사용중인 git이 오픈소스 프로젝트로 repository에 올라와 있다.


놀라운 점은 git 프로젝트를 클릭해 보면 git이 개발된 역사를 알 수 있다.

6만개에 가까운 commit들, 5개의 branch, 1254명의 공동 개발자들, 복잡한 폴더들과 파일들 등을 바로 확인할 수 있다.


심지어 Clone or download를 클릭하면 repository의 주소를 복사할 수 있는데 이를 이용해 자신의 폴더에 위의 프로젝트를 그대로 복사&다운로드 할 수 있다.

$ git clone https://github.com/git/git.git

위의 명령어는 자신의 로컬 저장소에 해당 프로젝트를 복사한다.

즉, 이런 식으로 다른 프로젝트들도 다운로드해서 이용해 보고, 직접 소스코드를 수정해 볼 수가 있다. 물론 해당 저장소에 권한이 없으면 push 등은 할 수 없다.


Remote repository(원격 저장소) 사용 이유


원격 저장소를 사용하면 좋은 점, 사용해야 하는 이유는 크게 2가지를 말할 수 있을 것 같다.

1. 작업물을 안전하게 백업해 놓을 수 있다.

만약 내가 집에 있는 데스크 탑으로 어떤 프로젝트를 진행하고 있다고 가정했을 때, 어떤 이유로 데스크 탑을 사용할 수 없어지거나 프로젝트 폴더가 날라가 버리면 상상도 하기 싫어진다...

이때 이 프로젝트를 믿을만한 원격 저장소(Github)에 백업을 해 놓았다면 걱정할 리 없다.

게다가 밖에서 노트북으로 작업을 할 일이 생겨도 원격 저장소에 업로드 되어있는 프로젝트를 가져와 진행할 수 있다.


2. 협업이 가능하다.

어떻게 보면 가장 큰 매력을 느낄 수 있는 부분이다.

하나의 프로젝트를 진행하는 팀원들이 원격 저장소를 각자 자신들의 로컬 저장소와 연결시켜 실시간으로 공동 작업이 가능하며, 다른 사람이 수정한 부분도 한 눈에 확인할 수 있다. 물론 뒤로 돌아가는 것도 쉽다.

즉, 버전관리 시스템인 git의 훌륭한 기능들이 원격 저장소를 이용해 협업을 하면서 그 진가를 배로 발휘하는 것 같다.

단... git에 대해 잘 알지 못하고 협업을 한다면 잘못된 push나 수정 등에 의해 협업을 하는 다른 사람들에게 고통을 줄 수 있다...


Github에 repository(원격 저장소) 만들기


github에 원격 저장소를 만들기 위해서는 먼저 회원가입을 해야한다.

회원가입과 로그인을 다 했다는 가정 하에 repository를 아주 간단히 만들 수 있다.


새로운 repository를 만들기 위해 New를 클릭해 줍니다.


Repository name은 말 그대로 저장소의 이름으로 프로젝트 또는 사용 목적 등을 원하는 대로 넣으면 됩니다.(나중에 주소로 사용됨)

Description은 이 저장소의 간단한 설명이다.

Public은 모든 사람들에게 자신의 저장소를 공유하는 것이고 Private는 자신만 볼 수 있다. 지금은 둘 다 무료로 사용 가능하다. (Github와 개발자들의 마인드를 따라 되도록이면 Public을 합시다.)

README.md라는 파일은 저장소의 간략한 설명을 적는 파일인데 일단 체크하지 않아도 된다.


저장소는 만들어 졌고, 저장소의 주소도 간편하게 복사할 수 있다. 이제 이 Github에 생성된 원격 저장소를 자신의 로컬 저장소와 연결시켜 주면 된다.

여기서 간단하게 2가지로 나눌 수 있는데, 

1번은 자신의 로컬 저장소를 만들지 않은 상태

2번은 이미 로컬 저장소가 있고, 그 로컬 저장소를 원격 저장소와 연결하는 작업이다.

(로컬 저장소를 만드는 방법은 Git 시작하기 , Git 버전 생성 을 참고해 주세요)

명령어만 간단하게 적어보면

$ git init : 현재 디렉토리에서 버전 관리를 시작하겠다.

$ git vim "파일 명(꼭 당장 README.md가 아니여도 됨)" : 첫 번째 커밋이 필요하므로 커밋할 첫 번째 파일 생성

$ git add "파일 명" : 생성한 파일 스테이지에 올리기

$ git commit -m "커밋할 메세지" : 커밋 !

여기서부터가 중요하다.

$ git remote add origin 원격 저장소 주소 : 자신의 로컬 저장소를 원격 저장소로 연결시키겠다는 명령어다. 

원격 저장소의 주소는 아까 깃허브에 생성된 repository의 주소이고, origin은 원격 저장소의 주소가 너무 길기 때문에 앞으로 origin이라는 별칭을 만들어 사용하겠다는 의미다. (보통 관습적으로 자신의 로컬 저장소의 직접적인 연결이 되어있는 저장소는 origin이라 붙여준다. 그냥 가장 많이 사용)


$ git push -u origin master : origin(원격 저장소)의 master 브랜치에 로컬 저장소의 최신 commit들을 push(업로드) 해주는 명령어다. 

-u 옵션은 push하는 기본 브랜치를 origin master로 지정하겠다는 의미로 최초에 한 번만 사용하면 된다. 앞으로 그냥 $ git push 해주면 됨





728x90
반응형

'Git 공부' 카테고리의 다른 글

Git fatal: refusing to merge unrelated histories  (0) 2019.03.15
Git 병합 충돌  (0) 2019.03.11
Git merge (fast forward, merge commit)  (0) 2019.03.11
Git 에러 fatal: Not a valid object name: 'master'.  (0) 2019.03.11
Git branch merge  (0) 2019.03.11
댓글