티스토리 뷰

개발자라면 git을 이용하든, 이용하지않은 얘기는 여기저기서 참 많이 들을것이다.

깃헙에 소스를 올려두라는둥 오픈소스에 참여하라면 깃헙을 가라는 둥... 사용법도 어렵지않다고하는데 쌩초보입장에서는 쉽지않은게 사실이다. 형상관리는 넘어가고 초간단 깃헙 사용법에 대해 포스팅을 하고자한다.


먼저 깃을 설치하자.

https://git-scm.com/book/ko/v1/시작하기-Git-설치

한글로 자세히 설명되어있다.


설치를 마쳤으면 terminal 혹은 cmd 창을 열어 깃이 설치됐는지 확인하자. 버전을 확인하는 커맨드명령어는 다음과 같다.


git --version


숫자로 이루어진 버전이 뜨면 정상적으로 설치된것이다.


형상관리를 해주는 기술의 이름이 git이고 깃을 이용해 서비스를 해주는 업체가 github다. 기본적으로 공개된 저장소에 대해서는 무료로 저장소를 제공하고있고 너무나도 유명하기때문에 많이들 사용한다. 심지어 회사에서도 따로 형상관리 서버를 구축하는것이 아니라 그냥 깃헙을 사용하는 경우가 많다. 깃을 설치했으면 깃헙도 이용해보자.


https://github.com

먼저 깃헙 홈페이지에 접속한 후 sign up 버튼을 눌러 회원가입을 진행하자.

회원가입을 진행하게되면 인증 이메일이 날아오니 인증을 해주면 된다.


자 이제 깃을 설치했고 깃헙 회원이 됐으니 준비는 다 끝났다. 이제 본격적으로 시작해보자.



로그인을 한 후 우측 상단에 보면 +버튼이 있다. 클릭한 후 new repository 를 클릭하자.


repository에 원하는 주소를 적고 아래 create 버튼을 클릭하자.

public 계정은 무료제공이지만 private 계정은 유료다. 중간 readme 체크박스는 README.md 파일을 처음부터 만들지 말지를 선택하는건데 깃헙에 익숙해지면 크게 신경쓸필요 없어지지만 초기엔 체크하는게 설정에 좀더 편함이 있다. 우리는 궂은 길을 가기위해 체크하지않고 넘어간다.


create 버튼을 누르면 저장소가 생성된것이다. 이게 끝이다. 그 이후에 영어로 뭔가 막 써져있는걸 볼수있는데 영어라고 겁먹고 그냥 끄지말고... 어려운 부분은 없다. 정말 친절하다.

제일 위에 new repository on the command line 만 따라하면 된다.



terminal이나 cmd를 다시 열어 깃헙으로 관리하고자하는 디렉토리로 이동하자.

해당 디렉토리를 깃으로 관리하기위해 깃 초기화를 해줘야한다. 다음 명령어를 입력하자


git init


깃 초기화를 했으면 이후 해당 디렉토리를 포함한 하위 디렉토리는 깃의 관리하에 들어가게되고 로컬저장소가 된다. 이제 이 로컬저장소와 방금 깃헙에서 생성한 원격저장소를 연결해야한다. 테스트용으로 원격저장소에 올릴파일을 생성하자. 기존에 해당 디렉토리에 파일이 존재한다면 그 파일을 이용해도 된다.


파일을 생성했으면(혹은 기존파일이 존재하면) 다음 명령어를 입력해보자.


git status


깃은 파일을 세가지 상태로 관리하는데 변경되지않은 파일, 변경(추가)된 파일, 커밋할 파일 로 관리한다.

아직 커밋을 한번도 한적이 없으니 어떤 파일이 존재하든 변경된파일 상태일것이다. 해당 파일을 커밋할 파일 상태로 만들어야한다.

위 스샷에있는 샘플코드는 README.md 파일을 추가하고있는데 이런식으로 파일을 추가해주면 된다.


git add README.md


README.md 외에 다른 파일을 올릴거면 파일명만 변경해서 올려주면 된다.


다시 git status 를 입력해주면 파일이 stage에 올라왔다고 할것이다. 해당 상태가 커밋할 파일상태이다.

이제 커밋을 해주자


git commit -m "commit"


""는 커밋메세지이며 자유롭게 작성하면된다.

이제 로컬저장소내에 파일이 커밋된것이며 원격저장소와는 연결되어있지않으므로 협업하는 동료는 해당 파일의 변화를 알수가없다.(물론 원격저장소와 연결되어있다 하더라도 커밋만으로는 아무것도 모른다.)

깃에서 커밋은 로컬저장소에 저장한다는 의미이므로 내 로컬에서만 변화하는 것이다.


이제 원격 저장소에 연결하자. 깃헙에서 새로운 저장소를 생성했을때 생기는 .git 주소가 있을것이다. 해당 주소를 복사해오고 다시 커맨드창으로 오자.


git remote add origin [url]


원격저장소를 추가하는 명령어이다. origin은 원격저장소의 alias 라고 보면 된다. 굳이 origin일 필요는 없고 자유롭게 적어주면 되나 대부분 origin을 사용한다.

이 명령어가 실행되면 로컬저장소와 원격저장소가 연결된것이며 원격저장소는 꼭 1개일 필요는 없다. 하지만 하나의 로컬저장소를 2개 이상의 원격저장소로 연결해서 사용하는 경우는 한번도 본적이 없다.


원격저장소를 연결했지만 지금도 저장소끼리만 연결했을뿐 실제 로컬에서의 변화를 원격으로 올린적은 없다. 이제 원격저장소에 올리는것을 해보자.


git push -u origin master


push가 원격 저장소로 로컬의 커밋을 올리는 명령어이며 origin은 위에서 설명한 alias다. 어떤 원격에 올릴지를 적는것이다. 위에서 origin이 아닌 다른 명칭을 사용했다면 다른 명칭을 적어주면 된다.


master는 브랜치명을 뜻하며 origin 원격에 있는 master 브랜치에 로컬 커밋을 푸시하겠다는 뜻이다.

브랜치는 다음에 설명하겠다.


이렇게되면 이제 원격저장소에 내 로컬에서의 커밋이 푸시가 됐고 동일저장소를 사용하는 다른 동료들도 이 변화를 알수있게된다.


글로 설명을 덧붙이고 중간중간 status 같은 명령어를 쳐서그렇지 사실 여태껏 한걸 요약하면 저~ 위에 repository를 처음 생성했을때 깃헙 홈페이지에 나온 new repository on the command line에 나온걸 순차적으로 했을뿐이다.

이제 해당 페이지를 새로고침해보자.

처음 생성했을때의 설명이 사라지고 내가 푸시한것이 올라와있는걸 확인할 수 있다.


만약 README.md 파일을 추가했다면 해당 마크다운 파일이 출력되는것까지 볼 수 있을것이다.

계속 변경하고 커밋, 푸시를 해보도록하자.


아까 원격 저장소를 생성할때 README.md 파일을 자동으로 추가해주는 체크박스에 '좀 더 궂은길을 가기위해' 체크하지말고 넘어가자고했다. 해당 체크박스를 선택하고 진행할 경우 README.md 파일이 생성된 상태로 시작하게되며 이상태에서 README.md 파일이 존재하는 디렉토리를 로컬저장소에 다운받은 후 진행할수도있다. 이런경우엔 이미 깃으로 관리하고있는 디렉토리를 다운받게되는것이기때문에 git init과 같은 작업을 해줄필요가없다.

훨씬 편한거 아닌가 라고 생각할수도있는데 위에서 말했듯 해당작업이 그리 어려운부분이 없기에 몇번 하다보면 사실 무의미하다.

'기타 프로그래밍' 카테고리의 다른 글

프로시저, 함수, 서브루틴  (0) 2016.12.04
git, github 이용하기#2  (0) 2016.07.08
git, github 이용하기#1  (1) 2016.07.08
TDD  (1) 2016.01.20
테스트의 종류  (0) 2015.12.03
객체지향설계 5대 원칙 SOLID  (1) 2015.09.20
댓글
댓글쓰기 폼