원격 저장소



10.



저번 글까지 우리는 우리의 정보를 로컬 저장소에 보관해왔습니다. 하지만 내 컴퓨터에만 보관해 놓는다면 컴퓨터에 무슨 문제가 생겼을 때, 자료가 전부 날아갈 수 있겠죠? 그렇기 때문에 우리는 또다른 보관 장소에 저장해놓을 필요가 있습니다. 또한, 다른 사람과 협업을 할 때도 원격 저장소는 아주 유용합니다.

https://github.com/에 접속하고 회원가입을 합니다. 회원가입만 하면 우리는 코드를 모든 사람에게 공개한다는 조건에 저장소를 무료로 이용할 수 있습니다. private하게 이용하려면 일정 금액을 지불해야 합니다.


.



enter image description here



회원가입을 하고 오른쪽에 보면 위의 그림과 같이 초록색으로 +New repository라고 적혀있는 것을 볼 수 있습니다. 그 버튼을 클릭합니다.

그러면 다음과 같은 화면을 만날 수 있습니다.



enter image description here



Owner에는 자신의 이름이 적혀 있습니다. Repository name에는 적당한 저장소 이름을 입력하시면 됩니다. 저는 project1_choo라고 입력하겠습니다. Public에 체크하고 마지막에 있는 Create repository버튼을 누르시면 됩니다.

그러면 다음 그림의 화면이 나옵니다.



enter image description here



아래에 있는 소스 코드들은 명령어를 이용하여 Git을 사용할 때 원격 저장소와 로컬 저장소를 시키기 위해 사용하는 명령어입니다. 우리는 SourceTree를 이용하기 때문에 위에 http:// 로 시작하는 URL을 이용하면 됩니다.



11.



이제 로컬 저장소와 원격 저장소를 연결해보도록 하겠습니다.

SourceTree에 위의 메뉴에서 Repository -> Add Remote…로 이동합니다. 그러면 창이 하나 뜨게 됩니다.



enter image description here



Add 버튼을 누릅니다.



enter image description here



Default remote 체크박스에 체크를 합니다.
이제 아까 봤던 URL을 복사해서 URL / Path에 붙여넣기를 합니다. 밑에 칸은 자동으로 채워질 것입니다.

그리고 ok를 누르면 새로운 행이 추가된 것을 볼 수 있습니다. ok를 한번 더 누릅니다.



enter image description here



왼쪽 목록을 보시면 Remotes에 origin이 추가된 것을 확인할 수 있습니다.

이제 우리는 로컬 저장소와 원격 저장소를 연결한 상태가 되었습니다. 하지만 아직 로컬 저장소에 있는 우리의 프로젝트 자료를 원격 저장소에 올리지 않은 상태입니다.



12.



원격 저장소를 이용하기 위해서 몇 가지 개념을 알아보겠습니다. 우리는 로컬 저장소에 저장해놓았던 변경 이력들 즉, 버전들을 원격 저장소에도 공유하게 될 것입니다.

우리가 로컬 저장소에서 원격 저장소로 그 변경 이력, 파일들을 업로드하는 것을 Push라고 합니다. Push를 실행하게 되면 로컬 저장소에 있는 내용들이 원격 저장소로 업로드됩니다.

Push가 있으면 반대로 Pull도 있습니다. 여러 사람과 같은 프로젝트를 진행하는 경우를 생각해 봅시다. 다른 사람도 원격 저장소에 Push를 하겠죠? 그러면 그 프로젝트의 내용이 변경되게 됩니다. 우리는 이 변경된 내용을 내 로컬 저장소에도 받아들일 필요가 있습니다. 원격 저장소에 있는 내용을 내 로컬 저장소로 불러오는 Push와 반대되는 개념을 Pull이라고 합니다. 쉽게 말해서 어떤 프로젝트를 최신 내용으로 업데이트한다고 생각하시면 됩니다.



13.



이제 실제로 Push를 해보겠습니다.

SourceTree 화면에서 위의 메뉴들을 보면 Push가 있습니다.



enter image description here



Push를 누르고 master에 체크를 하고 Ok를 누릅니다. 처음에는 Username과 Password를 입력하라고 나올 것입니다. github에 회원가입하셨을 때의 이름과 비밀번호를 입력하시면 됩니다.

그리고 어떠한 창이 뜨게 되고 마지막에 Completed successfully라고 나오면 push가 잘 이루어진 것입니다. Close를 눌러 창을 닫습니다.

그리고 github창으로 돌아와서 새로고침을 눌러봅시다. 그러면 우리의 로컬 저장소에 있던 파일들인 index.html과 readme.md가 잘 이동된 것을 볼 수 있습니다.



enter image description here



또한 파일들만 이동한 것이 아니라 commit들도 함께 이동했습니다.

메뉴에서 commits를 눌러보시면 로컬 저장소에 있는 내역과 똑같은 변경 이력들이 추가된 것을 볼 수 있습니다.



14.



Pull이라는 개념은 다른 사람이 원격 저장소에 있는 프로젝트의 파일을 변경했을 때 적용할 수 있습니다. Pull은 나중에 다뤄보도록 하겠습니다.

그리고 Clone이라는 개념이 있습니다. Clone이라는 말을 어디서 많이 들어보셨을겁니다. 영화나 tv에서 생명과학 관련 뉴스가 나올 때 접할 수 있는 단어이죠.

복제라는 뜻인데요. github같은 원격 저장소에 저장되어 있는 어떤 프로젝트를 똑같이 복제하여 내 컴퓨터로 가져오는 것입니다. Clone이라는 조작도 나중에 Pull을 할 때 같이 다뤄보도록 하겠습니다.

다음 글에서는 브랜치(Branch)에 대해 알아보도록 하겠습니다.

+ Recent posts