ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git - 7. 원격 저장소 Github
    STUDY/Git & Github 2021. 1. 11. 19:37

    #이 글은 "생활코딩" '프로젝트 관리' 강의를 기반으로 정리한 글 입니다. 

     

    이제야 드디어 Github에 대한 내용을 언급하게되었습니다..! 저는 이 Github를 사용하기 위해 git을 공부하기 시작하게 되었습니다. 학교 과제로 진행한 팀프로젝트를 진행하면서도, Github의 필요성을 크게 느꼈고, 다양한 동아리나 회사 등에서도 Github 사용 경험을 요구하는 곳들이 많이 존재하기 때문이었습니다. 무작정 Github을 시작해본 적도 있지만, 번번이 실패했는데 이번에 이렇게 git을 공부하고 사용하니 확실히 더 유용하게 사용할 수 있을 것 같습니다.

    이제 Githb에 대해 알아보도록 하죠!

     

    Github 란? 

    Github는 Git을 기반으로 소스코드를 관리하고, 개발자들 간 협업 지원 등의 기능을 지원하는 마이크로소프드의 서비스입니다. 현재까지 개발자들에게 가장 인기있는 git 호스팅 서비스이기도 합니다. 기존에는 public 저장소만 무료로 이용가능했지만, 2020년 1월에는 개인 사용자에게 private 저장소를 무료로 풀었고, 4월에는 팀에서도 private 저장소를 무료로 사용할 수 있게 되었답니다.  

     

    Github 시작하기

    우선, Github를 사용하기 위해선 가입을 먼저 해줍니다. 그리고 저장소(Repository)도 하나 생성해보겠습니다.

     

     1. 저장소(Repository) 생성하기

    로그인을 한 후, 아래 사진에 보이는 것과 같은 초록색의 [New] 버튼을 클릭

    github 로그인 후, 저장소 생성을 위해 '초록색 New 버튼' 클릭 

     

    2. 'Create a new repository' 에서 'Repository name' 을 작성한 후, [Create Repository] 버튼을 클릭

     Description에는 생성하는 저장소에 대한 설명을 적어주는 것인데 필요하면 선택적으로 작성해주면 됩니다. 

    Add a README file은 우선 생성하지 않고 넘어가겠습니다. README 파일은 프로젝트에 대한 설명을 작성하는 파일입니다.

    Create a new repository에서 저장소 생성하기

     

    3. Github Setup

    이제 Github의 저장소는 생성이 완료되었고, 사용을 위한 셋팅 단계입니다. 아래에서 보여주는 코드를 똑같이 터미널에 작성해주시면 됩니다. '…or create a new repository on the command line' 와  '…or push an existing repository from the command line' 두가지가 있는데, 여기서 자신에게 맞는 세팅을 해주면 됩니다.

     

    …or create a new repository on the command line' : 로컬 저장소에 Git 저장소가 존재하지 않는 경우

    …or push an existing repository from the command line : 로컬 저장소에 이미 Git 저장소가 존재하는 경우 

     

    ※ …or create a new repository on the command line' 을 사용하는 경우 발생 할수 있는 에러 : 

    rlakuku-program.tistory.com/36

     

    github setup

     

    저는 이미 존재하는 Repository가 존재하기 때문에 아래의 '…or push an existing repository from the command line를 이용하겠습니다.

     

    …or push an existing repository from the command line의 코드를 살펴보겠습니다.

     

    git remote add origin git@github.com:younyikim/gitPractice.git  ==> git remote 라는 명령어는 원격 저장소를 관리하는 명령어입니다. 위 명령어를 이용하여, 'origin'이라는 이름으로, 원격 저장소의 주소 'git@github.com:younyikim/gitPractice.git'를 등록하는 작업입니다. 우리가 등록한 'origin'이라는 이름을 이용하여, 이제 우리가 만든 Github의 저장소에 접속할 수 있습니다. (굳이 origin이라는 이름이 아니어도 괜찮습니다!)

     

    git branch -M main ==> 저장소의 branch를 main으로 변경하는 명령어입니다. (소소한 설명.. 원래는 기본 branch의 이름은 통상적으로 'master' 를 사용하였는데 얼마전 'Black Lives Matter' 운동이 활발하게 전개됨에 따라, 주인과 노예관계를 뜻하는 master와 slave라는 단어 대신 'main'이라는 branch 이름을 사용하게 되었다고 합니다. )

     

    git push -u origin main ==> 원격 저장소와 로컬 저장소의 branch를 연결하는 명령어입니다. 처음에만 '-u' 옵션을 사용하여 push를 해놓으면, 다음부터는 옵션 없이 'git push'만 해주면 자동으로 origin과 main branch를 동기화해줍니다. 

     

    터미널에서 저장소 setup

    여기까지하면 우리의 로컬 저장소와 원격 저장소가 잘 연결된 것입니다. 잘 연결되었는지 확인을 위해

    git remote -v 를 친 뒤 확인해봅시다. 

    아래와 같이 잘 연결되어있음을 확인할 수 있습니다!

    'origin'은 우리가 등록한 원격 저장소의 이름, 뒤에는 원격 저장소의 주소가 나와있습니다. 

     

    git remote -v

    그리고 하나의 로컬 Git 저장소에, 하나의 원격 저장소만 등록할 수 있는 것은 아닙니다. 위에서 사용한 git remote add [이름] git@github.com:younyikim/gitPractice.git  를 사용하여, 다른 이름의 원격 저장소를 등록할 수 있습니다.

    저는 'test'라는 이름으로 원격 저장소를 등록해보았는데, git remote -v를 하면 이렇게 두개의 이름의 저장소가 연결될 것을 볼 수 있습니다.

    다른 이름의 원격 저장소 추가

    삭제는 git remote remove [이름] 을 사용하면 됩니다.

     

    Push & Pull

    이제 원격 저장소를 우리의 로컬 저장소에 연결하는 것까지 완료하였습니다. 이제 원격 저장소에 우리가 생성한 버전, 즉 commit을 저장하는 방법에 대해 알아보겠습니다. 

     

    사실 위에 내용을 그대로 따라했다면, Github의 저장소에 이미 f1.txt 파일이 올라가 있는 것을 볼 수 있을 것입니다. 

    위에서 git push -u origin main 를 이미 실행했기 때문입니다. 

     

    Push는 로컬 저장소의 내용을 원격 저장소에 내용을 업로드하는 작업을 말합니다. 위의 git push -u origin main명령어를 통해, 우리는 'origin'이라는 원격 저장소에, 로컬 저장소의 'main'이라는 branch를 push 한 것입니다. 

     

    Pull은 Github 원격 저장소의 내용을 로컬 저장소로 내려받는 명령어입니다. git pull origin main명령어를 통해, 원격 저장소의 'origin'의 내용이 'main'으로 복사됩니다. 

     

     

    Github 연습하기

    기본적인 github 사용법에 대해 알아보았습니다. 이제 익숙해지기 위한 연습 시간입니다. Push와 Pull을 연습해보면서 github에 익숙해져 봅시다.

     

    1. Github 저장소의 소스코드를 로컬 저장소로 가져오기

    보이는 사진과 같이 [code] 버튼을 클릭 후, 'HTTPS'의 주소를 복사합니다.

     

    github clone

    2. git clone [복사한 주소]

    터미널에서 원하는 디렉토리에 git clone [복사한 주소] [디렉토리 이름] 을 입력해줍니다.

    저는 git 디렉토리에, 'home'과 'office'라는 이름으로 clone을 해주었습니다.

     

    git clone

    3. 'home'에서 commit 후, push

     

    f1.txt를 원하는 대로 편집해준 후, commit 해줍니다. 

    TIP. 혹시 commit message를 잘못 작성했거나, 수정하고 싶은 경우 git commit --amend 를 사용하여 수정후 저장해주면 됩니다.

     

    그다음, git push를 해줍니다.

     

    아래와 같이 commit message가 '4'와 f1.txt의 내용을 확인할 수 있습니다.

    git push

     

    4. 'office' 에서 git pull 

    우리는 한 컴퓨터 내에서 push와 pull을 연습하고 있지만, home은 집에서 작업한 내용이고, office는 회사에서 작업하는 내용이라고 생각해봅시다. ㅎㅎ 집에서 내용을 수정하여, github에 push를 해놓았습니다. 그렇다면 집에서 수정하던 내용을 회사에서도 이어서 수정을 하고 싶다면, 원격 저장소에 push한 내용을 가져와 사용(pull)해야겠죠? 

     

    위의 Push & Pull 에서는 pull을 할때 branch 이름을 적어주면서 사용을 했습니다. 하지만 git clone을 한 경우에는 따로 branch 명을 명시하지 않아도 됩니다. 왜냐하면 git clone을 하게되면 기본적으로 main branch를 받게 되기 때문입니다.

     

    git pull

    이제 'office'에서 f1.txt를 수정하고, commit 한 뒤 내용을 다시 원격 저장소에 반영하고 싶다면 동일하게 git push를 해주면 됩니다.

    새로운 작업을 시작하기 전에는 git pull을, 작업이 마무리 되면 git push를 하는 것을 습관화해야합니다!

     

    office의 내용을 push하고, home에서는 pull을 해보는 등 push와 pull을 반복적으로 연습해보면서 각자 github에 익숙해지는 시간을 가져보시길 바랍니다.

    댓글

Designed by Tistory.