git clone
은 내 컴퓨터에 없는 깃 저장소를 복사해오는 명령어입니다.
git clone <remote repo url>
입력한 url에 있는 깃 저장소의 내용을 다운로드 하는 것입니다.
git clone
은 깃 명령어입니다. 깃허브와는 상관 없습니다. (정확히 상관 없다고 말할 수는 없을 것 같긴 하네요)
뒤에 오는 url이 깃 저장소 호스팅 서비스 같은 곳에서 제공하는 url인 것입니다.
Github, Bitbucket, Gitlab 등이 url을 제공하겠죠.
public repository는 다 clone이 가능합니다.
애초에 private이면 보이지도 않아서 clone이 불가능합니다.
public repo는 다 clone이 가능하지만, push는 가능하지 않습니다.
push도 모든 사람들이 다 가능하다면, 내가 만든 작업물들을 아무나 다 clone하고 가지고 놀다가 망쳐놓고 push 할 수도 있겠죠.
변경 사항을 제안하고, 프로젝트 기여자가 되는 방법은 따로 있습니다.
이는 이후 포스팅에서 소개하겠습니다.
우리가 원격 저장소(깃허브 저장소)를 clone
하면 프로젝트에 대한 모든 데이터와 히스토리를 갖게 됩니다.
하지만 git clone
을 진행하면 우리의 로컬 저장소에는 원격 저장소의 기본 브랜치만 확인할 수 있습니다.
원격 저장소가 두 개의 브랜치가 존재한다고 가정합니다.
그리고 기본 브랜치가 master
브랜치라면 원격 저장소를 clone 했을 때
로컬 저장소에서 우리가 확인할 수 있는 브랜치는 master
브랜치 뿐입니다.
하지만 원격 저장소 브랜치를 참조해보면 깃허브 저장소의 브랜치를 모두 확인할 수 있습니다.
즉 clone
직후 로컬 저장소에서는 모든 브랜치를 확인할 수 없습니다.
어떻게 하면 로컬 저장소에서도 나머지 브랜치들을 볼 수 있을까요?
깃허브 저장소를 clone
하고 나면 깃허브 저장소의 기본 브랜치인 origin/master
브랜치를
로컬 저장소의 master
브랜치가 자동으로 추적합니다. 기본적으로 연결되어 있는 것입니다.
기본적으로 이렇게 동작합니다.
깃은 원격 브랜치에 puppies
라는 브랜치가 있는 것을 알고 있습니다.
로컬에서 puppies
브랜치를 확인하고 싶다면 아래 명령을 수행해주어야 합니다.
git switch <remote-branch-name>
그러면 로컬 저장소에 puppies
브랜치가 자동으로 생성되면 로컬 puppies
브랜치는 원격 puppies
브랜치와 연결됩니다.
master
-> origin/master
puppies
-> origin/puppies
master가 origin/master와 연결된 것과 마찬가지인 것입니다.
switch
명령이 생기기 전에는 아래와 같이 진행했다고 합니다.
git checkout --track origin/puppies
직접 연결해준 것이죠.
- 이미 내 컴퓨터에 로컬 깃 저장소가 있는 경우
우선 깃허브에서 새 리포지토리를 생성해야 합니다.
그리고 나서 remote add
를 사용하여 내 컴퓨터에 있던 깃 저장소와 remote repo(깃허브 저장소)를 연결해야 합니다.
git remote
or
git remote -v
위 명령어를 실행하면,
연결된 원격 저장소의 이름을 확인할 수 있고, -v
옵션을 추가하면 원격 저장소의 url 주소도 확인할 수 있습니다.
로컬 저장소와 원격 저장소를 연결하기 위해서는 git remote add
가 필요합니다.
git remote add <name> <url>
원격 저장소를 해당 이름으로 로컬 저장소와 연결하겠다는 의미입니다.
기본적으로 원격 저장소 이름은 origin
으로 합니다.
git remote add origin <url>
origin
이라는 이름은 바꿀 수도 있습니다.
git remote rename <old-name> <new-name>
원격 저장소와의 연결을 끊고 싶다면
git remote remove <name>
위 명령어를 실행하여 연결을 끊을 수 있습니다.
- 아직 내 컴퓨터에 로컬 깃 저장소가 없는 경우
마찬가지로 깃허브에서 새 리포지토리를 생성합니다.
그리고 깃허브 저장소를 clone 합니다.
그럼 자동으로 내 로컬 저장소와 깃허브 저장소가 연결됩니다.
🙏🙏🙏
git 시리즈에 작성한 포스팅은
https://www.udemy.com/course/best-git-github/
유데미 강좌
https://www.yes24.com/Product/Goods/110795446
모두의 깃 & 깃허브
위 내용을 참고하였으며, 제 실습화면을 캡쳐한 사진 외의
대부분의 사진들은 인터넷 강좌에서 제공하는 자료를 캡쳐하였습니다.
깃 시리즈 포스팅의 내용 및 사진을 절대로 상업적 목적으로 무단 복사하지 말아주세요.