원격저장소

현재까지는 로컬저장소(내 컴퓨터)만 이용했었다.
만약 버전관리도구(git)의 사용이 어렵다면, 반드시 다른 cloud에다가 자신의 소스코드를 백업해놓기를 권장한다.
이렇게만 한다면, 버전관리는 안될 것이다.
버전관리도구를 사용하면서, 원격저장소에 자신의 코드를 역사적인 버전을 남기면서 백업해야한다.


원격저장소의 종류

네트워크상의 저장소인 원격저장소에 , 현재 사용중인 로컬저장소를 연결한다음, 백업해놓는 기능이 주 기능이다.

직접 원격저장소를 만드는 것은, 서버를 구성할 줄 모르면 쉽지 않다.

그래서 사용하는 것이 github등의 git 서비스이다.
깃헙(github)의 경우에는, 공개버전이 아니라면 어느정도 돈을 내야한다.
깃랩(gitlab)의 경우에는, 깃헙을 벤치마킹 한 것으로, 자신의서버에 설치가능한 오픈소스였으나, 깃헙처럼 서비스로 제공하기 시작했다.
- 깃랩은 특이하게,, 깃헙에서 깃랩을 사용안내하고 있다..


깃헙을 이용해서 원격저장소 만들고 로컬저장소를 연결하기

github에서 아이디를 만들어 준비를 한다

  • 먼저, repository를 public으로 만든다. repository명은 현재 사용하고 있는 프로젝트 폴더와 동일하게 만들어보자.
    image

  • 만들어서 나오는 상단의 HTTPS/SSH 는 방금 만든 원격저장소의 URL같은 것이다.
    그 아래 나오는 명령어들은 명령어기반으로 원격저장소에 로컬저장소를 세팅할 수 있다. 하지만 우리는 GUI환경에서 사용하므로 일단 보류한다.
    image


현재까지는 로컬저장소에서 고립된 상태에서 작업을 해왔다.
이제 원격저장소와 로컬저장소를 연결 후 업로드 해야한다.

원격저장소는 Remote Repository라고 한다. 이제 소스트리로 돌아와서, 원격저장소를 연결해보자.

  • 소스트리로 돌아와, 상단 메뉴 중 [ Repository - Add Remote... ] 로 진입해보자.
    (이미 원격저장소가 추가되어있다면 Repository - Repository Settings에서 수정할 수 있다)
    image
    image


    Add버튼을 눌러서 원격저장소를 추가해주자.

    image

    이제 깃헙의 만든 레퍼지토리의 HTTPS주소를 복사한 뒤,  URL/ PATH 칸에 붙혀넣자.
    이 때, 기본 원격저장소로 설정하기 위해서 Default remote도 체크해주자.
    image


  • 소스트리의 왼쪽메뉴 Remotes를 보면, 우리가 추가해준 원격저장소의 remote name인 orgin이 등장하게 된다.
    image

    origin은 우리가 추가해준 원격저장소의 별명같은 것이다.
    상단 Repository - Repository settings에 들어가보면 확인할 수 있다.
    image

    여기까지만 하면, 로컬저장소 - 원격저장소는 연결만 된 상태다.
    즉, 아직 동기화= 업로드하기 전 상태다.


  • 로컬저장소 --> 원격저장소 로 밀어내는 행위가 바로 Push이다.
    상단 버튼중 Push버튼을 클릭해보자.
    image


    Push할 원격저장소의 별명을 선택할 수 있다.
    그리고 동기화(업로드)하고 싶은 로컬저장소의 여러 Branch를 선택할 수 있다.
    실험적인 업무를 노출하고 싶지 않다면, master 브랜치만 선택해준다.

    image

    image


  • 깃허브로 돌아가 Reload를 해보자.
    연결된 로컬저장소로부터 push된 소스코드가 업로드되어, 코드가 나와있다.
    우리가 수정한 README.md의 내용이 메인설명으로 나온다.
    image

    Commits 메뉴를 선택해보면, 로컬저장소에서 작업했던 버전들이 확인이 된다.
    image


여기까지만 하면, 로컬저장소가 고장나더라도, 원격저장소에서 받을 수 있고 버전도 확인할 수 있다.
백업으로서의 의미가 가장 크다고 생각하면 된다.


이제 로컬의 파일을 수정 후, 버전을 만든 뒤 ---> 원격저장소로 업로드 해보자.

  • 파일을 수정 후, 로컬에서 commit하자.
    image


    그랬더니, 소스트리에서는 Push버튼에 1이라는 표시가 나타나있다.
    이것은 로컬저장소와 원격저장소간에 1개의 버전차이가 존재한다는 것을 의미한다.
    타임라인master는 로컬저장소의 최신버전을 <--> origin(별명)/master는 원격저장소의 최신버전을 의미한다
    image

  • 하나의 버전을 더 commit해보자.
    원격저장소에서는 아직 2개의 버전이 업로드 되지 않았다는 것을 직감적으로 확인할 수 있다.
    image

    이제 2가지 버전을 추가한 프로젝트를 Push해보자.
    로컬의 master와 원격의 origin/master가 같은 버전에 위치하는 것을 확인할 수 있다.
    image

+ Recent posts