명령어로 Git을 사용하자! Git CLI ( Backup )
이 포스팅은 이고잉 님의 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를 입력하면
이런 내용이 나온다.
이는 하나의 지역 저장소가 여러 원격 저장소와 연결될 수 있는데
그 중에 어떤 원격저장소와 기본적으로 연결시킬 것인지를 설정하라는 의미다.
이 설정은 복잡하지 않다 그냥 저기 나와있는 문구를 그대로 붙여 넣으면
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를 실행하는 것이 좋다