본문 바로가기

개발자 이야기/Git, GitHub

Git clone 명령어로 원격 저장소를 로컬 저장소로 가져오기

오늘은 일찍 퇴근한 김에 책상 앞에 좀 오래 앉아 있는다. 항상 오늘만 같았으면 좋겠건만.. 또한 출퇴근 거리가 너무 오래걸리니 방을 얻어서 회사 근처에서 살면 공부할 수 있는 시간이 더 많아지지 않을까 싶다. 오늘따라 공부가 잘 되는 것 같다. 오늘은 딱 이 부분까지만 공부하고 자야겠다. GitHub도 대충 살펴봤고, Git의 기본적인 기능들도 터미널에서 잘 다룰 수 있게 많이 연습한 결과 이제 손에 익는다. 그렇기 때문에 이젠 로컬 저장소와 원격 저장소를 연결해보도록 한다. 터미널에서 git clone이라는 명령어를 이용하면 내 Repository(원격 저장소)나 다른 사람의 Repository를 로컬에 복사해서 가져올 수 있다. 우선 내가 만든 Repository를 가져오는걸 해보았다. 우선 다시 내 GitHub를 들어가서 만들어 놓은 Practice Repository를 들어간다.



HTTPS 프로토콜을 이용하여 터미널에서 가져올 수 있다. 사진처럼 Clone or download를 누르면 저렇게 주소가 뜨는데 저 주소를 복사해준다. 그리고 간만에 터미널을 열어서 이번엔 새로운 폴더를 만들어서 연습을 해본다.



지난 번엔 prac이란 폴더를 만들어서 거기서 git의 여러가지 기능을 연습해봤었는데 이번엔 prac_github라는 폴더를 만들고 저기서 이것저것 연습할 것이다. 그럼 이제 git clone 명령어를 사용해볼 차례다. 방금 복사했던 HTTPS 주소를 가지고 git clone "복사한 주소"를 입력하여 실행시킨다. 주소의 형태는 https://github.com/github/"사용자 이름"/"Repository 이름".git 으로 이루어져있다.




그럼 clone이 성공했다는 메시지가 나온다. 그리고 ls 명령어를 입력해보면 방금 clone 명령을 실행했던 Repository 이름의 디렉토리가 생성되어 있다. 저 디렉토리로 이동하고 git status 명령어를 입력하여 상태를 확인한다.



그럼 이렇게 메시지가 출력될 것이다. 이렇게 되면 clone이 성공한 것이다. git clone 명령어는 원격 저장소에 있는 데이터를 로컬 저장소로 복제해오는 명렁어이다. 이와는 반대로 git remote라는 명령어가 있다. 이 명령어는 빈 원격 저장소에 로컬 저장소의 데이터를 연결시키는 것이다. 그러기 위해선 우선 빈 Repository를 하나 만든다. 단 주의해야할 점은 README.md 파일을 생성하면 안된다. 




기존 Repository와 구분짓기 위해서 Practice_remote라는 Repository를 만들었다. README 체크는 풀어주었다. 



README 체크를 풀었을 뿐인데 나오는 화면이 다르다. 로컬 저장소와 연결해야하는 과정이 있기 때문이다. 아까 Initialize 어쩌구 저쩌구 README는 바로 원격 저장소를 로컬 저장소에 복사해서 사용할 수 있도록 해주는 옵션이었다. 그렇기 때문에 이번에는 반대의 경우로 로컬 저장소를 원격 저장소와 연결하기 위해 저 주소를 복사해서 git remote 명령어를 사용하도록 한다. 이번에는 git remote add "저장소 별칭" "복사 주소"를 실행시키면 된다.



뭔가 잘 안돼서 위에 뻘짓을 많이 했다. 결국은 저렇게 명령어를 치면 아무 반응이 없는데 이게 연결된 것이다. 그럼 제대로 연결됐는지 확인한다. git remote -v 명령어를 사용하면 된다.




그럼 이렇게 목록이 나온다. origin이라는 별칭은 아까 clone 했을 때 기본적으로 저장되는 별칭이고, first는 방금 내가 remote 하면서 지정한 별칭이다. push와 fetch에 관한 내용은 내일 공부하는 걸로~ 오늘은 정말 열심히 공부한 것 같다. 뿌듯하다.