티스토리 뷰

Tools/Git

[Git]GitHub 사용하기

heyhyo 2018. 10. 1. 23:15

먼저 Git이라는 것은 리눅스의 창시자 리누스 토발즈에 의해서 만들어졌다. 이는 협업을 할 때, 버전관리를 편리하게 다룰 수 있도록 해주고, 프로젝트의 어떠한 부분도 겹쳐쓰지 않도록 관리해주는 버전관리 툴 중에 하나이다. 이 외에도 상당한 장점이 있지만 이정도만 적도록 하겠다.


GitHub분산 버전 관리 툴인 Git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다. GitHub는 개인 공간으로 활용할 수 있는 유상 서비스와 오픈소스를 위한 무상 서비스를 모두 제공한다. 2009년의 Git 사용자 조사에 따르면 GitHub는 가장 인기있는 Git 호스팅 사이트이다. 또한 2011년의 조사에서는 가장 인기있는 오픈 소스 코드 저장소로 꼽혔다.


위 글은 위키백과에서 발췌한 글이다. 즉, 자신의 코드를 Git으로 관리하고 있다면, GitHub에 자신의 코드를 올려놓을 수 있으며, 다른 사람들이 내 코드에 pull-request를 보낼수도 있다. 결국 협업에서도 상당한 강점을 가진다는 것이다.




사용 목적



처음 GitHub을 찾게된 계기는 나의 프로젝트를 어디서든 수정하고 싶은 욕구에 의해서이다. 개인 프로젝트를 진행하다보면 어떤 컴퓨터에 있는 프로젝트를 다른 컴퓨터에서 이어서 작업하고 싶을 때가 있다.


USB에 넣거나, 일반 클라우드에서 올리고 내리기에는 그 프로젝트 환경까지 가져오기에 힘들고, 버전관리는 로컬에서만 가능하기에 한계가 존재한다. 이럴 때 프로젝트를 어떤 공유된 공간에 넣어놓고 어디서든 내려받아서 하던 프로젝트를 진행할 수 있다면 상당히 효율적일 것이다. 이러한 이유로 GitHub을 사용하게 되었다.




사용 방법


순서대로 알아보도록 하자. 먼저 대략적인 순서는 아래와 같다.

1. GitHub을 사용하기 위해서 Git 설정하기.

2. GitHub에 온라인 저장소 생성하기.

3. Git으로 로컬 저장소 생성하기.

4. 로컬 저장소와 온라인 저장소 연결하기.

5. 맘껏 사용하기.



1. GitHub을 사용하기 위해서 Git 설정하기.


먼저 자신의 컴퓨터에 설치된 Git을 설정해주어야 한다. 깃을 설치할 때 함께 설치할 수 있는 Git Bash를 켜보자.




이와 같은 콘솔창이 나올 것이다. 이 콘솔창에서는 bash shell 명령어가 동작하므로, 리눅스의 명령어를 사용할 수 있다는 장점이 있다. 먼저 이 컴퓨터에 자신의 정보를 넣어야 한다. git config라는 명령어를 통해 설정정보를 저장할 수 있다. 위 터미널 창에서 다음과 같이 작성한다.


git config --global user.name "Your Name" git config --global user.email "Your GitHub Email"


위 두 줄의 명령어를 입력한다. Your Name은 GitHub의 닉네임과 동일하게 설정하면 된다. 그리고 Your GitHub Email은 자신이 GitHub에 가입한 이메일 형식의 아이디를 동일하게 입력하면 된다.


이 명령어를 입력하면 Git을 사용하는 사람의 이름이 뭔지 어떤 GitHub계정을 사용하고 있는지 Git에 설정하게 된다.



2. GitHub에 온라인 저장소 생성하기.


https://github.com/


온라인 저장소를 생성해보자. 위 링크를 타고 GitHub에 접속한다. 그럼 아래와 같은 사이트가 나올 것이다.





위 페이지가 나오면 로그인을하고 왼쪽 하단의 Repositories 오른쪽에 [New repository]를 클릭하여 온라인 저장소를 생성한다. 클릭을 하면 다음과 같은 페이지가 나온다.





생성방법은 간단하다. 저장소의 이름을 설정해주고, 간단한 설명을 선택적으로 입력한다. 그리고 공개 저장소인가 개인 저장소인가를 선택할 수 있는데, 개인 저장소는 비용이 필요하니 고려해 보길 바란다. README를 초기화 한다는 설정은 이 저장소의 기초적인 정보를 소개하는 문서를 만들 것이나를 묻는 것인데, 필요하지 않다면 넘어간다.


그리고 [Create repository]를 클릭하면 저장소 생성이 완료된다.



3. Git으로 로컬 저장소 생성하기.



온라인 저장소를 생성했다면, 이제 컴퓨터 내에서 로컬 저장소를 생성한다. 다시 Git Bash 프로그램으로 돌아가서 자신이 저장소로 등록하고 싶은 프로그램의 폴더로 경로로 이동한다. 새로운 저장소 폴더를 생성하고 그 폴더로 이동하고 싶다면 다음과 같이 입력한다.


mkdir [directory name]
cd [directory name]


[directory name]에는 폴더이름을 입력하면 된다. 에를 들어 mkdir test와 같이 하면 된다. mkdir 명령어를 입력하면 현재 자신의 위치에 저 이름으로 폴더가 생성된다. 그리고 cd 명령어를 통해서 생성된 폴더로 이동이 가능하다.


git init


그리고 나서 git init 명령어를 입력하면 현재 폴더를 로컬 저장소로 초기화 한다는 의미로 이제부터 이 폴더는 git의 버전관리가 가능한 폴더로 지정된다. 


테스트를 위해서 touch 명령어를 통해 아무 것도 없는 빈 파일을 생성한다.


touch test


파일이 생성되면 현재 로컬 저장소의 상태를 파악할 수 있다. 아래의 명령어를 입력해보자.


git status


이 명령어를 통해 현재 버전관리의 대상으로 설정된 파일과 그렇지 않은 파일을 볼 수 있다.





위와 같이 test라는 파일이 Untracked 상태인 것을 알 수 있다. 그렇다면 이 파일을 버전관리의 대상으로 추가해보자.


git add --all
git status


git add --all이라는 명령어는 현재 Untracked 상태의 모든 파일을 버전관리의 대상으로 추가하는 명령어이고, --all 대신 파일명을 입력하면, 개별적으로 추가할 수도 있다. 그리고 나서 다시 git status 명령어를 입력하면 버전관리 대상에 정상적으로 추가된 것을 알 수 있다.





위와 같이 커밋이 가능하다는 메시지가 나온다. 그럼 이제 커밋을 해보자. 커밋이라는 것은 현재 버전관리 대상으로 선정된 것들을 실재로 새로운 버전에 반영을 하는 동작을 의미한다.


git commit -m "Add test"


위와 같이 입력한다. -m옵션을 통해서 현재 커밋의 내용을 뒤에 입력해주면 정상적으로 커밋이 완료된다. 만약 -m 옵션을 빼고하면, 커밋 메시지를 입력하는 창이 기본 텍스트 편집기에(vi) 자동으로 열리게 된다.


이로써 로컬 저장소의 생성이 완료되었다. 그럼 이제 이 로컬 저장소를 GitHub의 온라인 저장소와 연결시켜보도록 하자.



4. 로컬 저장소와 온라인 저장소 연결하기.



로컬 저장소를 방금 GitHub에 생성한 온라인 저장소와 연결해 보도록 하자. 방금 생성한 저장소의 URL이다. 이를 꼭 기억하고 다음 단계로 넘어가기를 바란다. 방금 예제의 경우는 https://github.com/heyhyohey/Test.git 이다. 그리고 다음 명령어를 입력한다.


git remote add origin https://github.com/heyhyohey/Test.git
git remote -v


위와 같이 git remote 명령어를 작성한다. 이 명령어의 의미는 깃에게 온라인 저장소의 위치를 알려주는 명령이다. 그리고 다음과 같이 입력해 보자.





위와 같이 명령어를 입력하면 현재 fetch와 push가 가능한 온라인 저장소를 추가했음을 확인할 수 있다. 이제 다왔다. 마지막 명령어를 입력해보자.


git push -u origin master


git push는 현재 로컬 저장소의 코드를 온라인 저장소로 올리는 작업을 한다. master branch로 이 저장소를 올리겠다는 의미로 보면 되겠다.





위와같이 완벽하게 온라인 저장소와 동기화 된 것을 볼 수 있다. git push 후에 어떤 로그인 화면이 나올 수 있는데, 자신의 GitHub 계정으로 로그인해주면 된다.




5. 맘껏 사용하기.



이제 완벽하게 저장소의 연결이 완료되었다. 물론 Git과 GitHub의 아주 극히 일부분이지만, 이제 첫발을 들인 것이다. 이제 다른 컴퓨터에서는 자신이 불러오고 싶은 저장소에서 다음과 같이 명령어를 입력해주면 된다.


git clone https://github.com/heyhyohey/Test.git


그럼 온라인 저장소에 올려진 저장소를 로컬로 내려받기가 되고, 다시 저장하고자 하면, git push로 올리면 된다. 만약에 이 저장소를 다른 사람이 수정한 부분이 있을 수 있다. 이럴 때는 아래 명령어를 통해서 최신 코드상황을 내려받을 수 있다.


git pull
git fetct


두 가지의 명령어가 있는데, git pull의 경우는 현재 나의 로컬 저장소에 있는 것을 온라인 저장소 branch로 덮어쓰기를 한다. git fetch의 경우는 덮어쓰지 않고 새로운 branch로 생성하여 불러오기를 한다. 따라서 현재 나의 branch와 병합하지 않는 안전한 불러오기 방법이다. 상황에 따라서 잘 골라서 쓰면 될 것이다.




결론



쓰다보니 글이 참 길어졌다. 아직 숙련자가 아니다보니, 저장소를 생성할 때 마다 찾아봐야하는 번거로움에 정리를 하는 겸 작성해 보았다. 버전관리와 작업을 공유하는 것에 첫 발을 들였으니 더 나은 개발자로써의 한 발짝 도움닫기가 되었으면 한다.


아직 Git에 대한 깊은 이해가 있지는 않으므로 참고용으로만 봤으면 한다.



참고



https://ko.wikipedia.org/wiki/%EA%B9%83%ED%97%88%EB%B8%8C

https://nolboo.kim/blog/2013/10/06/github-for-beginner/

'Tools > Git' 카테고리의 다른 글

[Git]GitHub Collaborator 추가하기  (13) 2018.10.31
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함