ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명령어로 Git을 사용하자! Git CLI ( Backup )
    Knowledge/Git 2019. 11. 27. 17:52
    반응형

    이 포스팅은 이고잉 님의 Git CLI - Backup ( https://opentutorials.org/course/3841 ) 강의를 듣고 정리한 내용입니다.

     

    - 용어정리

     

    먼저 용어 정리부터 간단히 해보자.

     

    Local Repository ( 지역 저장소 ) : 작업이 이루어지는 컴퓨터

    Remote Repository ( 원격 저장소 ) : 백업이 이루어지는 컴퓨터

     

    Push : Local Repository - 변경 내역 업로드 -> Remote Repository

    Clone : Local Repository <- 똑같이 복사 - Remote Repository

    Pull : Local Repository <- 변경 내역 다운로드 - Remote Repository

     

    - Git hosting

     

    https://git.wiki.kernel.org/index.php/GitHosting

    위 URI에서 공식 Git hosting 을 서비스해주는 

    그러니까 원격 저장소를 제공해주는 사이트 목록을 볼 수 있는데 본 포스팅은 Git hub만으로 진행하겠다

     

    - 저장소 생성

     

     

    저장소는 표시한 부분 중 하나를 클릭해서 생성할 수 있다. 클릭해서

     

     

    위와 같이 Repository-name, Description을 채우고,

    public / private / README 자동 생성 여부를 의도에 따라 체크하고 Create repository버튼을 누르면 된다

     

    - 원격저장소와 연결

     

    자 그럼 원격저장소를 만들었으니 지역 저장소의 내용을 원격 저장소에 업로드해보자

    위에서한 용어 정리에 따르면 이러한 행위를 하려면 push를 해야한다 그리고

     

     

    생성한 repository 메인에 보면 command line으로 push하는 방법이 나와있다.

    위 두 줄 중 git remote add 명령어가 연결을 담당하는데 뒤의 origin과 주소는

     

    1
    git remote add 별칭 원격저장소의 주소

     

    를 의미한다. 근데 이건 의미고 우리는 저기 친절히 적혀있는 git remote add 명령을 그냥 복사해서

    원격 저장소로 업로드하려는 지역 저장소에서 입력하면 된다.

     

    입력하고,  git remote -v 명령어를 입력해서 확인해 보면

     

     

    Origin이란 이름으로 주소가 연결되어 있는 내용을 볼 수 있다

     

    - git push

     

    이제 push를 하면 되니

     

    1
    git push

     

    명령어를 이용해 push만 하면 되는데 처음 git push를 입력하면

     

     

    이런 내용이 나온다.

     

    이는 하나의 지역 저장소가 여러 원격 저장소와 연결될 수 있는데

    그 중에 어떤 원격저장소와 기본적으로 연결시킬 것인지를 설정하라는 의미다.

     

    이 설정은 복잡하지 않다 그냥 저기 나와있는 문구를 그대로 붙여 넣으면

     

    이 과정전에 id와 pw를 넣고 인증을 해야 할 수도 있다

     

    push가 진행되고 종료된 후 원격 저장소로 가보면

     

     

    지역 저장소에 저장되었던 내용이 원격 저장소에 잘 올라가 있음을 확인할 수 있고 표시한 commits 부분을 클릭하면

     

     

    그간의 commit 내역 역시 확인할 수 있다

     

    - git clone

     

    이제 commit한 내역을 다른 지역 저장소로 clone해보자.

     

    원격 저장소에 가보면 clone할 수 있는 주소를 제공하고 있다. 이걸 복사해서

     

    1
    git clone 원격저장소 주소

     

    명령어를 입력해주기만 하면 clone이 되는데

    주의할 점은 원격 저장소의 이름을 가진 폴더 하나가 생성된다는 것이다.

     

    예를들어 우리가 지금까지 실습을 진행한 helloGit과 이웃한 위치에 이 repository를 clone하기 위해선

     

    한 단계 상위 폴더로 이동해 git clone 명령어를 입력해야 

     

    위와 같이 의도한 대로 저장소를 clone해올 수 있다.

    만약 clone해올때 원격 저장소의 이름과 다른 이름의 폴더에 clone해오고 싶으면

    원격저장소 주소 뒤에 원하는 지역 저장소 이름을 명시해주면 된다. 그러면

     

     

    이렇게 명시한 폴더가 만들어지고 그 안에 clone되는 걸 확인할 수 있다

     

    - git pull

     

    이제 pull을 해보자. 먼저 지금은 helloGit, git-hello, cloneWithMkdir 폴더가 이 원격 저장소와 연결되어 있는 상태다

    이 중 helloGit 폴더에서 hello1.txt 파일의 내용을 변경하고 add, commit해서 push하자. 

     

    그럼 원격저장소에는 

     

     

    위와 같이 pull test라는 메모와 함께 commit된 것이 있을거고 helloGit에서 git log를 봐도

     

     

    원격 저장소와 같음을 확인할 수 있지만 git-hello에서 git log를 확인하면

     

     

    Revert "R4" 메모와 함께 Commit된 것이 최신 버전임을 확인할 수 있다 이럴 때 

     

    1
    git pull

     

    명령어를 입력하고

     

     

    git log를 확인하면

     

     

    원격 저장소나 helloGit 과 commit 내역이 같아진 걸 확인할 수 있다.

     

    git이 이와 같이 작동하기 때문에 하나의 원격 저장소에 업로드 할 소스를 여러명이서 작업하는 상황이라면

    git push를 하기 전에 git pull을 먼저 실행하고 push를 실행하는 것이 좋다

    반응형

    댓글

Designed by Tistory.