본문으로 바로가기

Github 입문하기

category Github 2019. 5. 23. 16:38

애증의 깃허브 정리를 시작해보려고 한다..😵

 

16년도 겨울 즘에 안드로이드 공부를 한창 할 즘 깃허브를 처음 접했다.

대단한 실력자들이 애니메이션기능들을 다 공유해주고

그걸 내 입맛에 맞게 쓸 수 있길래 그저 정보공유사이트인줄만 알았다..ㅎㅎ

 

내가 깃허브를 관리하게 될거라고는 생각도 안했는데

최근 사용하며 익숙해지려고 노력중이다!

 

이번 정리를 통해 나도 깃 자체에 대해서도 제대로 알아보려고 한다


1. Git이란?

먼저 깃이란 버전관리 소프트웨어 이다.

버전관리 앱은 하나의 프로젝트를 여러명의 사람이 함께 작업할 때 생기는 문제점을 해결해 준다.

아마 팀프로젝트 코드작업에서 가장 힘든일은 '통합'일거다.

코드 통합을 위해서 매번 팀원 들끼리 압축파일을 보내고 추가된 내용과 그 위치를 하나하나 알려주는 것도 매우 힘들다. 특히 각자의 작업 공간에서 작업을 진행하다보면 동시다발적인 추가 수정이 이뤄지는데 이를 합치는과정을 떠올려보면 아찔하다^^.. (((다 경험담)))

이때 깃을 사용하면 같은 파일을 작업해도 겹쳐쓰여지지 않게 변경사항을 업로드하게 되며 각자의 버전이 생긴다.

이 두가지 버전의 작업을 병합할 수도 있다.

 

이런 유용한 깃을 쉽게 사용할 수 있도록 도와주는 도구가 바로 Github이다.

깃허브 소프트웨어를 설치해서 사용해도 되고, Github.com 웹을 통해 사용할 수도 있다.

 

2. 기본 용어

반복적으로 사용되는 용어 정리입니다.

  • Repository 저장소:
    프로젝트가 들어있는 저장 공간이다. "repo"라고도 줄어서 부른다.
    내 로컬폴더가 될 수도 있고, 깃허브나 다른 오라인 호스트 저장공간이 될 수도 있다.
    저장소 안에 코드파일, 텍스트파일, 이미지 등을 저장할 수 있다.
  • Version Control 버전관리:
    깃의 서비스 목적. 보통의 문서 작업은 새로운 내용을 저장하게 되면 이전 파일 위에 겹쳐쓰거나 버전을 나누어 저장하게 된다. 깃은 그럴 필요 없이 프로젝트 작업 히스토리의 모든 시점 '스냅샷'을 유지하고 있어 겹쳐쓰지 않아도 된다. 
  • Commit 커밋:
    커밋을 하게 되면 그 시점의 저장소의 '스냅샷'을 찍어 프로젝트의 체크 포인트를 생성하게 된다.
    프로젝트의 복원 시에 유용하다.
  • Branch 브랜치:
    하나의 프로젝트에 여러명이 작업 시, 독립된 작업을 진행 할 수 있도록 도와주는 것 입니다.
    메인 브랜치 (master 브랜치)를 중심으로 두고 각각의 작업자들은 개인브랜치를 생성해 개인 작업을 할 수 있습니다. 또한 작업 후엔 이 브랜치들을 merge병합 함으로써, 하나의 브랜치로 모을 수도 있습니다.

3. 주요 명령어

  • git init
    : 깃 저장소 초기화 명령어.
    저장소나 디렉토리 안에서 이 명령어를 실행하기 전까지는 일반 폴더이다.
    이 명령어를 실행한 후에야 추가적인 깃 명령어들을 사용할 수 있다.
  • git help
    : 깃 명령어들을 출력해서 보여준다. 명령어가 기억안날때 사용한다.
  • git status
    : 저장소 상태를 체크한다.
    어떤 파일이 저장소 안에 있는지, 커밋이 필요한 변경사항이 있는지,
    현재 저장소의 어떤 브랜치에서 작업 중인지 등을 볼 수 있다.
  • git commit
    : 가장 중요한 명령어로 변경사항이 생긴 후 저장소의 '스냅샷'을 찍는 명령어이다.
    "git commit -m Message" 형식으로 사용한다.
  • git branch
    : 새로운 브랜치를 생성한다. "git branch name" 형태로 사용하며 name이 브랜치를 부르는 이름이 된다.
  • git checkout
    : 다른 브랜치로 작업환경을 옮길 때 사용한다. "git checkout name" 형태로 사용한다.
  • git merge
    : 브랜치에서 작업을 끝내고 다른 작업자들이 변경사항을 볼 수 있도록
    중심 브랜치인 master 브랜치로 병합하는 작업을 수행한다. "git merge name"형태로 사용하며
    name 브랜치의 변경사항이 master로 추가된다.
  • git push
    : 로컬 컴퓨터에서의 작업을 깃허브 온라인으로 볼수 있도록 업로드 한다.
  • git pull
    : 작업중인 저장소의 최신 버전을 깃허브로부터 다운로드 한다.

4. 깃/깃허브 시작해보기

1. 먼저, Github.com에 가입한다.

2. 아래 링크를 통해서 git을 설치한다. (자신의 운영체제에 맞게 선택해서 다운로드)

https://git-scm.com/downloads

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

3. 윈도우에서는 설치한 git bash앱으로 다음 명령어를 타이핑한다. (OS X에선 터미널로 시작한다.)

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

위에 들어갈 이름과 이메일은 github.com에 가입 시 사용했던 이름,이메일이어야 한다.

 

4.  github.com으로 다시 돌아가 초록색 책 아이콘을 클릭해 새로운 저장소(repository)를 생성한다.

저장소 이름과 readme파일을 생성하고 시작할지 정도 선택 후에 저장소를 생성하면 됩니다.

 

5. 로컬 작업공간을 생성한다.

온라인에 저장소를 생성했으니 그걸 작업할 공간을 내 컴퓨터에 만들어 주면 됩니다.

프로젝트명과 동일하게 디렉토리를 하나 생성해주고 해당 디렉토리로 이동 후에 깃 명령어로 초기화 해줍니다.

git init

간단하게 readme파일을 생성한다고 가정하에 파일을 작성합니다.

 

6. 로컬저장소와 깃허브 저장소를 연결합니다.

연결 후 작업한 파일을 push해주면 되겠죠.

git remote add origin https://github.com/username/myproject.git

add 명령어로 온라인 원격 저장소를 지정해줍니다. https://github.com/~~~ 이부분은 자신의 저장소 주소를 넣어주세요

이후에 작성했던 파일을 업로드 하기 위해서는 아래 명령어를 순서대로 실행시켜주면 끝 입니다.

git add Readme.md
git commit -m "Add Readme.md"
git push origin master

 


작업했던 코드를 commit하고 push해서 업로드하기까지!

브랜치 추가 없이 master브랜치만을 사용하는 기본적인 튜토리얼이었습니다.

 

브랜치도 만들고 더 알차게 쓸수 있는 방법으로 차후 포스팅을 계속 해보도록 하겠습니다.

화이팅🤗

'Github' 카테고리의 다른 글

[Github] .gitignore 적용하기  (0) 2020.01.08