취미/프로그래밍

[gitHub] 처음 설정하기

D.Dic. 2018. 5. 17. 21:11
참고해 만들었습니다.

 

git이란?

git은 버전관리 툴입니다. 처음 개발을 시작하면 이걸 뭐하러 쓰나 싶을 때가 있었지만, 거창한 버전관리 대신에, 내가 그날 그날 뭘했는지 일기장을 쓴다는 마음가짐이라면 git이 얼마나 유용한가를 간접적으로 표현한다고 생각합니다.


(어제의 내가 뭘 고쳤는지를 잊었다면 오늘의 나는 아주아주 힘들겁니다. 그냥 그럴 때 있잖아요. 뭔가 확 꽂혀서 고쳤고 기똥차게 기능이 잘되는데 정작 오늘의 나는 왜 잘 되는지 모를 때... 화가 차오릅니다.)


gitHub는 개발자에게 있어선 페이스북 같은 존재라고 생각합니다. 내가 한 활동들, 내용을 일기로 써서 남들한테 보여주는 거나 다름없거든요. 물론 그보다는 조금 더 어렵긴 합니다만...


조금 더 직관적이었으면 어떨까 하는 마음과 함께 처음 사용하는 입장에선 잔뜩 헤매었기 때문에 어떻게 사용하는지를 간략히나마 남겨봅니다.



git/gitHub 설정


먼저 gitHub에 가입합시다. 이 정도는 다들 쉽게 할 것이라 생각해요. https://github.com


gitHub에 가입했으면 git을 설치합시다. https://git-scm.com/downloads 본인 컴퓨터 OS에 맞게 설치하면 됩니다.


이제 커맨드라인으로 시작해볼 차례입니다. 본인이 사용하는 커맨드라인 툴을 켭시다. 윈도우라면 cmd에서 bash를 쓰거나, ubuntu 앱, git bash 앱 등을 설치하면 됩니다.


ㅣ커맨드라인

$git config --global user.name "Your Name"
$git config --global user.email "your_email@youremail.com"

 

위의 줄은 사용자의 이름을 입력하는 것이고 아래 줄은 사용자의 이메일을 입력하는 것입니다. 단, 이메일은 gitHub에 가입할 때 사용했던 것으로 쓰셔야 합니다.



gitHub 저장소 만들기

우리 프로젝트가 저장될 gitHub 위의 저장소, 흔히 repository 또는 repo라 불리는 것을 만들 겁니다. 다음과 같이 gitHub에 접속해 repo를 만들 수 있습니다.


위 그림과 같이 New repository를 눌르면 아래의 그림으로 넘어갑니다. 적당히 원하는 이름(repository name)과 설명(description)을 입력하고 create repository로 만들 수 있습니다. 

Initialize this repository with a README의 경우 저장소에 들어갔을 때 첫 화면을 README로 하겠다는 의미입니다. 중요한 부분이지만 나중에 해도 괜찮은지라 체크하지 않고 넘어가도 되겠습니다.



로컬 저장소 설정

git을 사용하기 위한 프로젝트 폴더로 이동합니다. 제 경우 workspace/python/mysite입니다. 


커맨드라인

$cd /mnt/c/workspace/python/mysite
$git init

 

cd는 change directory의 약자로 해당 폴더로 이동하겠다는 의미입니다. 이 명령어를 통해 원하는 폴더로 이동합니다.


git init은 이 폴더를 git 로컬 저장소로 선언하기 위한 첫 단계입니다. 이 폴더를 초기화(initialization)하겠다는 의미구요. 이를 통해 컴퓨터는 이 폴더가 git-ready임을 알 수 있게 됩니다.


현재 제 작업 폴더에는 db.sqlite3 manage.py 두 파일과 myhome mysite 두 폴더가 있습니다. 


커맨드라인

$git status
On branch master

Initial commit

Untracked files:
  (use "git add ..." to include in what will be committed)

        db.sqlite3
        manage.py
        myhome/
        mysite/

nothing added to commit but untracked files present (use "git add" to track)

 

저희는 있는 프로젝트 위에 git init을 했기 때문에 내부의 그 어떤 파일이나 폴더도 git의 관리 범위 안에 있지 않습니다. 그래서 Untracked files라고 뜨게 됩니다. 이제 저것들은 git의 관리 안으로 넣어봅시다.


커맨드라인

$git add .

 

git add에 관한 자세한 명령어는 구글링을 통해 자세히 알아보시기를 권합니다. 지금 사용한 git add .의 경우 현재 선택한 directory의 모든 파일/폴더를 git의 감시 안에 넣는 명령어입니다. 이와 다르게 특정 파일만 git의 감시에 넣고 싶다면 git add "filename"을 하시면 됩니다.(""은 지우고 filename에 원하는 파일/폴더의 이름을 쓰세요!)


git add를 마치면 프로젝트 내의 모든 파일들이 git status에 뜨게 됩니다. 앞으로 여기서는 파일을 새로 만들거나, 고치거나, 지우는 모든 기록들을 git이 지켜보게 됩니다.


내용을 새로 추가했다면 그에 관한 일기를 써야겠죠? git에서 가장 중요한 commit이 그 일기를 쓰는 역할입니다. 저 같은 경우 "Add existing project"라고 남겨보겠습니다.


커맨드라인

$git commit -m "Add existing project"

 

원하는 내용을 ""사이에 넣으면 되겠습니다. 이제 로컬에서 사용하는 법은 알았으니 온라인과 연결하는 법을 알아봐야겠죠?



로컬 저장소와 gitHub 저장소 연결

먼저 gitHub 저장소의 위치를 로컬 저장소에 알려주어야 서로 연결할 수 있습니다. 원하는 gitHub 저장소의 위치는 위에서 만들었던 gitHub repo로 들어가면 아래와 같이 볼 수 있습니다.



https://github.com/KSDoo/mysite.git이 제 gitHub의 주소고 다른 분들은 https://github.com/유저이름/프로젝트이름.git으로 만들어졌을 겁니다. 이제 이 주소를 추가해봅시다. 유저이름엔 자기가 만든 닉네임, 프로젝트이름은 자기가 만든 repo의 이름을 넣는 센스 아시죠?


커맨드라인

$git remote add origin https://github.com/유저이름/프로젝트이름.git

 

이 명령어는 간단히 말해서 온라인에 있는 https://github.com/유저이름/프로젝트이름.git 저장소를 origin으로 설정한다는 의미입니다.


잘 설정되었나 확인하려면 아래 명령어를 쳐봅시다.


커맨드라인

$git remote -v
origin  https://github.com/유저이름/프로젝트이름.git (fetch)
origin  https://github.com/유저이름/프로젝트이름.git (push)

 

저렇게 나오면 잘 나온겁니다!! 이제 로컬 저장소의 내용을 gitHub 저장소에 올리면 끝입니다.


커맨드라인

$git push origin master

 

git에는 branch라는 개념이 있습니다. 우리말로 줄기라는 의미인데, 말 그래도 버전관리를 나무 줄기처럼 분화해서 운영할 수 있다는 뜻입니다. 더 자세한 내용은 이후에 알아보도록 하지요.


여기까지 잘 따라오셨으면 끝입니다. 이후 본인의 gitHub에 들어가 파일들이 제대로 올라왔다면 무리없이 작동한 겁니다.




그런데 본인이 작업하는 로컬 저장소에서 인증오류가 날 때가 있습니다. 그 경우는 다음 편에서 살펴보도록 하겠습니다.


수고하셨습니다!