인프런의 강민철님의 모두의 깃 깃허브 강의를 참조하였습니다.
원격 저장소와의 4가지 상호작용 방법은 아래의 4가지가 존재한다.
클론이란 깃허브 상에 존재하는 원격 저장소를 로컬(클론 받은 컴퓨터)로 복제하는 것을 말한다.
강민철님의 레포지토리를 복제해보겠다. 위의 저장소는 강민철님의 저장소이다. 그러면 위의 코드 버튼을 눌러서 ssh탭을 택한 후에 복사하기 버튼을 누르면 된다.
그 후에 소스트리로 돌아와 새로 만들기 -> URL에서 복제 버튼을 누른다.
그러면 해당 레이어 팝업이 뜨면 원본URL에 아까 복사한 URL을 입력한다. 그러면 목적지 경로와 이름이 자동생성된다. 그리고 클론 버튼을 누르면 아래와 같이 소스트리 버전관리 화면이 나오게 된다.
이제 위의 소스트리 화면을 살펴보면 생소한 용어 몇가지가 나온다. main 브랜치, origin, origin/HEAD, origin/main을 한번 살펴보자.
🙋🏻 origin이라고 하는 이유?
원격저장소를 지칭할 때 매번 경로(git@github.com:...)를 사용하는 것은 번거로우니 단순히 origin이라고 부르기로 한 것이다.
이전에 우리가 만든 빈 저장소를 클론해보자. 먼저 원격에 들어가서 우리가 만든 test-repo 옆에 클론버튼을 누르면 위와 같이 나온다. 그러면 클론버튼을 눌러보자.
다음부터 우리가 버전 만들듯이 버전을 만들어보자. 아래와 같이 touch명령어로 빈 텍스트 파일을 만들고 버전을 만들어보자.
버전을 만들면 이렇게 커밋이 될 것이다.
이제 푸시를 해보자. 위에 푸시버튼을 누르면 아래와 같이 나온다.
해당 브랜치 선택후 확인을 누르면 깃허브에 반영이 된 모습을 확인 할 수 있다.
그러면 이제 다시 커밋을 해보자. 그러면 아래와 같이 나올 것이다. 아래 그림 의미는 origin은 1개의 커밋만 존재하고 로컬은 2개의 커밋이 존재합니다라는 뜻이다.
그럼 이 부분도 아까와 같이 push해보자.
그런데 여기서 다르게 push하는 방법이 있다. 먼저 테스트용 repo를 만들자.
그리고 우리가 이전에 만들어 두었던 여러개 커밋이 쌓인 로컬저장소를 접속한다.
위의 설정에 원격탭을 누르면 아래와 같이 나오는데 여기서 추가 버튼을 누른다.
그리고 아까 만든 repo에 ssh복사를 하고 아래 팝업에 기입하고 확인을 누른다.
다음으로 푸시를 눌러 존재하는 브랜치를 택한 후 확인을 누른다.
그러면 아래와 같이 잘 반영되는 것을 알 수 있다.