목차

- 원격 저장소 만들기

- 클론 / 푸시 / 패치 / 풀

- 소스트리와 깃허브 연동하기

- 클론

 

<원격 저장소 만들기>

먼저 깃허브에 들어가서 + -> New repository를 누른다. test라는 이름의 저장소를 만들어봄.

Add a README file : 자동으로 README 파일 생성

Add .gitignore : 자동으로 .gitignore 생성

Choose a license : 저장소에 담길 프로젝트의 라이선스 선택

 

만들어진 저장소의 Settings 메뉴 가장 하단으로 내려가면 Danger Zone에서 저장소를 삭제할 수도 있다.

<클론 / 푸시 / 패치 / 풀>

원격 저장소와의 4가지 상호작용

- 클론 (clone) : 원격저장소 복제하기

- 푸시 (push) : 원격저장소에 밀어넣기

- 패치 (fetch) : 원격저장소 가져만오기

- 풀 (pull) : 원격저장소 가져와서 합치기

 

<소스트리와 깃허브 연동하기>

소스트리와 깃허브가 SSH 통신할 수 있도록 연동한다. SSH (Secure Shell) : 안전하게 정보를 주고받을 수 있는 통신 방법

SSH 통신을 위해 공개 키개인 키를 생성한다.

 

1. git bash here로 깃 배시 창을 연다.

 

2. 'Enter file in which to save the key (주소):' 라고 뜨는데, 해당 경로로 기본 저장된다는 의미이고 경로를 바꾸지 않을 거라면 그냥 엔터 치면 된다.

 

3. 나는 2년 전에 이미 키를 받아놨기 때문에 already exists라고 떴다. 일단 그냥 덮어쓰기 해줌. (y)

 

4. 'Enter passphrase'는 암호를 입력하라는 건데 암호를 사용하지 않으려면 그냥 엔터. 다음에 나오는 암호 입력 재확인도 그냥 엔터.

 

이렇게 뜬다.

잘 살펴볼 부분은 이 두 줄이다.

개인키(identification)는 id_rsa, 공개키(public key)는 id_rsa.pub 파일이다. 어디에 저장되었는지 경로 알려줌.

아래와 같이 해당 경로 확인해보면 파일이 생성된 거 확인가능.

5. SSH 키를 등록해줄 것이다. 도구->옵션 들어가서 SSH 클라이언트를 OpenSSH로 바꿔준다.

6. 도구->SSH 키 추가->id.rsa 파일 선택

 

도구->옵션 들어가서 SSH 키가 제대로 등록되었는지 확인한다.

 

7. 깃허브 -> Settings -> SSH and GPG keys 들어가서 New SSH key를 누른다.

거기에 Title 이름 적어주고 Key 부분에 id.rsa_pub 파일 내용을 복사해서 붙여넣기 한다. (id.rsa_pub 파일이 그냥은 안 열려서 메모장으로 열었다.)

 

그러면 아래와 같이 SSH key 등록이 된 것을 확인할 수 있다.

 

8. 소스트리에서 깃허브를 등록해줄 것이다. 나는 이미 해놓아서 할게 없었다만 책에 적혀있던 방법만 작성해놓겠음..

Remote -> 계정 추가 -> 호스팅 서비스 : GitHub, 선호 프로토콜 : SSH -> OAuth 토큰 새로고침 클릭 -> 스크롤 내려서 Authorize Atlassian 클릭 -> Authentication Successful 확인, 소스트리로 돌아가 인증성공 표시 확인.

처음에 근데 저장소 목록이 안 떴음. 새로고침을 누르니까 떴다.

 

<클론>

깃허브 상에 존재하는 원격 저장소를 로컬로 복사해올 것이다.

저장소의 크기가 너무 크면 클론하는데 오래 걸리기 때문에 친구의 저장소를 클론해보았다.

1. 초록색 버튼 <>Code -> SSH -> 복사한다.

2. 소스트리에 들어가서 클론-> 복사한 주소를 붙여넣는다. 190000~

 

+내가 깃허브에 만들어둔 원격저장소도 불러와봤다. 우측의 Clone 버튼을 누르면 된다.

아래와 같이 뜬다. main, origin/HEAD, origin/main이 추가된 것을 확인할 수 있는데 여기서

origin은 원격 저장소에 붙은 일종의 별명이고

main은 master 브랜치랑 같은 거다. (master라는 단어가 차별적이라서 바뀐 것)

origin/HEAD, origin/main은 원격 저장소 origin의 HEAD와 기본 브랜치를 지칭한다. (좀 헷갈리는군)

우측 상단의 설정에 들어가보면 원격 저장소의 별명을 알 수 있다. 기본으로 origin으로 되어있음.