-
명령어로 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과 주소는
1git remote add 별칭 원격저장소의 주소를 의미한다. 근데 이건 의미고 우리는 저기 친절히 적혀있는 git remote add 명령을 그냥 복사해서
원격 저장소로 업로드하려는 지역 저장소에서 입력하면 된다.
입력하고, git remote -v 명령어를 입력해서 확인해 보면
Origin이란 이름으로 주소가 연결되어 있는 내용을 볼 수 있다
- git push
이제 push를 하면 되니
1git push명령어를 이용해 push만 하면 되는데 처음 git push를 입력하면
이런 내용이 나온다.
이는 하나의 지역 저장소가 여러 원격 저장소와 연결될 수 있는데
그 중에 어떤 원격저장소와 기본적으로 연결시킬 것인지를 설정하라는 의미다.
이 설정은 복잡하지 않다 그냥 저기 나와있는 문구를 그대로 붙여 넣으면
push가 진행되고 종료된 후 원격 저장소로 가보면
지역 저장소에 저장되었던 내용이 원격 저장소에 잘 올라가 있음을 확인할 수 있고 표시한 commits 부분을 클릭하면
그간의 commit 내역 역시 확인할 수 있다
- git clone
이제 commit한 내역을 다른 지역 저장소로 clone해보자.
원격 저장소에 가보면 clone할 수 있는 주소를 제공하고 있다. 이걸 복사해서
1git 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된 것이 최신 버전임을 확인할 수 있다 이럴 때
1git pull명령어를 입력하고
git log를 확인하면
원격 저장소나 helloGit 과 commit 내역이 같아진 걸 확인할 수 있다.
git이 이와 같이 작동하기 때문에 하나의 원격 저장소에 업로드 할 소스를 여러명이서 작업하는 상황이라면
git push를 하기 전에 git pull을 먼저 실행하고 push를 실행하는 것이 좋다
반응형'Knowledge > Git' 카테고리의 다른 글
명령어로 Git을 사용하자! Git CLI ( 협업 ) (0) 2019.11.28 명령어로 Git을 사용하자! Git CLI ( Branch & Conflict ) (0) 2019.11.28 명령어로 Git을 사용하자! Git CLI ( 버전관리 ) (0) 2019.11.27 GIT 커밋 실패 - commit failed - exit code 1 received (0) 2019.09.23