- 협업을 하다보면 팀원들이 각자 다른 기능을 맡아서 작업하는 경우가 많다. 이럴 때는 각자의 작업이 master branch에 있는 문서들과 섞이지 않도록 새 브랜치를 만들어서 버전을 관리한다. 그리고 각 팀원이 만든 새 브랜치 역시 원격 저장소에 그대로 push할 수 있다.
4-1. 새로 만든 Branch push하기
- 팀장이 새로운 기능을 위해 자신의 지역 저장소에 f라는 branch를 만들어 커밋한 후 원격 저장소에 푸시하는 과정
4-2. pull request로 push한 Branch 병합하기
- 아직 원격 저장소의 파일 목록에는 f branch에서 만들었던 f1.txt가 없다.
왜냐하면 push한 branch는 pull request를 통해 병합해야 원격 저장소에 반영되기 때문이다.
- 깃허브에서 협업할 때는 보통 작업자마다 브랜치를 만들어서 진행하고, 작업 중간중간 pull request를 보내서
master branch에 병합한다! (작업 전에 항상 pull하여 다른 작업자의 변경 내용을 반영하는 것도 잊지 말기!)
- Secure Shell의 줄임말로, 보안이 강화된 안전한 방법으로 정보를 교환하는 방식이다.
- SSH에서는 기본적으로 private Key와 public Key를 한 쌍으로 묶어서 컴퓨터를 인증한다.
- private: '사적인, 비밀의, 비공개의' 라는 뜻을, public: '공적인, 공개의' 라는 뜻을 가지고 있다.
따라서 public Key는 외부에 공개되는 키이고, private Key는 아무도 알 수 없게 사용자 컴퓨터에 저장되는 키이다.
- 사용자 컴퓨터에서 SSH 키생성기를 실행하면, Private Key와 Public Key가 만들어진다.
웹 브라우저에서 깃허브 저장소에 접속할 때 Source Tree 같은 프로그램을 사용해 깃허브 저장소에 접속할 때
SSH 원격 접속할 때
아이디와 비밀번호를 입력해서 깃허브에 내가 해당 저장소를 만든 계정의 주인임을 인증하는 방식
private Key와 public Key를 사용해 현재 사용하고 있는 기기를 깃허브에 인증하는 방식 ex) 서버 환경에서 깃허브 저장소에 접속해야 한다면, 서버 자체를 깃허브에 등록한다. 개인 노트북으로 접속한다면, 노트북을 깃허브에 등록한다.
-SSH 원격 접속의 장점 1) 터미널 창을 이용할 수 있는 상태라면 언제 어디서든 깃허브에 접속할 수 있다.
2) 자동 로그인 기능으로 인해 깃허브 아이디와 비밀번호를 입력하는 번거로움을 줄일 수 있다.
5-2. SSH 키 생성하기
- 사용자 컴퓨터에서 SSH 키 생성기를 사용하면 public Key와 private Key가 만들어진다.
- 키를 생성해서 어디에 저장하고 어떤 용도로 사용하는지 알아보자.
ssh-keygen을 입력하면, SSH 키가 저장되는 디렉터리 경로가 표시되면서 파일 이름을 입력하라고 한다. (이때 엔터 두 번)
SSH 키가 저장되는 디렉터리는 홈 디렉터리 안에 있는 .ssh 디렉터리임을 알 수 있다.
Enter를 두 번 클릭하면, SSH를 통해 다른 컴퓨터에 접속할 수 있는 비밀번호가 생성된다.
실제로 내부를 들여다보면, 매우 복잡한 비밀번호이므로 외부에서 쉽게 공격할 수 가 없다.
화면에 표시된 여러가지 경로 중, id_rsa 파일이 private Key이고, id_rsa.pub 파일이 public Key이다.
5-3. 깃허브에 퍼블릭 키 전송하기
- SSH 방식으로 깃허브 저장소에 접속하는 과정 1) 사용자 컴퓨터 안에 만들어진 public key를 깃허브 서버로 전송한 다음 저장한다.
2) 사용자 컴퓨터에서 깃허브 저장소에 접속하면, 사용자 컴퓨터 안에 있는 private key와 깃허브 서버에 있는 public key를 비교한다. 3) public key와 private key는 한 쌍이므로 서로 맞으면 사용자 컴퓨터와 깃허브 저장소가 서로 연결된다.
5-4. SSH 주소로 원격 저장소 연결하기
- SSH 원격 접속 준비가 끝났으므로, SSH 주소를 사용하여 지역 저장소와 원격 저장소를 연결한다.