카테고리 없음

소스트리와 깃을 사용한 협업

Leo.K 2022. 5. 18. 02:34

여러 개의 저장소를 서로 연결시켜 상호간의 동기화 가능 

서로 다른 사람들이 각각의 저장소에서 작업을 하고 이것을 모아서 하나의 프로젝트를 할 수 있는 즉, 협업의 도구로 깃을 사용할 수 있다. 내부적으로는 브랜치라는 개념이 사용된다.

1. 혼자 작업하기 

  • 별도의 작업을 진행할 로컬 디렉토리를 생성한다. 필자는 a라는 폴더를 생성했다. 
  • 로컬 저장소로 설정하고자 하는 위에서 생성한 로컬 디렉토리를 소스트리에서 생성하여 git init을 해줘야 한다. 
  • 소스트리 실행 -> create -> 탐색을 통해 위에서 생성한 로컬 디렉토리의 경로를 설정하고 생성을 누른다.
  • 생성한 폴더에 테스트 파일로 work.txt를 생성한다.
  • 그러면 소스트리 상에서 변경사항을 감지하고 커밋을 할 수 있는 상황이 되는데 커밋 메시지와 함께 커밋한다. 이 과정에서 하나의 버전이 생성되는 것이다.
  • 깃허브에서 new repository를 통해 원격 저장소를 생성하고, 원격 저장소의 ssh주소를 복사한 다음 소스트리에 경로를 설정하여 로컬 저장소 a와 방금 깃 허브에 생성한 원격 저장소를 연결한다.
  • 상위 메뉴에서 repository(저장소)를 누르고 저장소 설정을 누른 다음 url에 위에서 복사한 ssh주소를 붙여넣고, default remote로 설정한다.
  • 연결된 원격 저장소에 로컬에서 생성하고 하나의 버전으로 등록해놓은 work.txt를 push하여 백업해놓는다.

2. 같이 작업하기 

  • 협업자가 저장소에 pull&push를 할 수 있도록 권한을 가진 사람(원격 저장소 주인)이 등록을 해주어야 한다. 
  • settings -> collaborator -> 협업자의 닉네임을 검색해서 add new collaborator 버튼을 누르면 협업자의 메일로 승인 요청 메일이 전송되는데, 승인이 되면 이제 저장소의 주인과, 협업자가 원격저장소를 관리할 수 있는 권한이 생긴다.
  • 협업자는 저장소의 주소를 복사해서 자신의 로컬 저장소에 clone해서 작업을 진행한다.

[http와 ssh(공개키 인증방식)]

로컬 개발 환경에서 Git을 단독으로 사용한다면 SSH가 없어도 무방하다만, 안전하게 외부 Git 서버에서 코드를 Clone하거나 Push하려면 SSH 프로토콜을 사용한다. GitHub처럼 인터넷을 통해 원격에서 Git 저장소를 호스팅해주는 서비스에서도 SSH 프로토콜을 지원하고 있다. GitHub 뿐만 아니라 원격 Git 저장소와 통신할 때 일반적으로 사용하는 방법이다.

SSH는 Git에서도 사용하지만, 원래는 멀리 떨어져있지만 인터넷이나 네트워크를 통해 연결되어있는 컴퓨터에 안전하게 연결해주는 프로토콜로 안전한 셸(Secure Shell)이라고도 부른다. 셸을 통해서 명령어를 입력할 수 있는데, 이 명령어를 내 컴퓨터가 아닌 네트워크로 다른 컴퓨터에 전달해주고 결과를 받아볼 수 있게 해주는 게 바로 SSH이다.

공개키 인증방식을 사용하려면 공개키와 개인키를 한 쌍 만들어야 한다. 

공개키 : 접속하고자 하는 서버에 등록해놓는 용도로 사용한다. 

개인키 : 사용자가 소유하고 있다. 개인키를 통해 SSH에 접속하고, 연결 요청을 받은 SSH에서는 서버에 등록된 공개키 중에 요청 받은 사용자의 개인키 정보와 매치가 되는 공개키가 있는지 찾는다. 없으면 거절되고, 있으면 연결된다. 공개키는 어디에 공개되어도 상관없지만, 개인키는 공개되면 내가 공개키를 등록해놓은 서버에 타인이 접속할 수 있기 때문에 공개 되면 안 된다.

[SSH키를 생성하기] - git-bash실행. 확장 프로그램에서 진행해도 가능하다.

  1. cd ~/ .ssh
    1. 이미 생성되어 있던 SSH키가 있는지 조회한다. 없으면 새로 만든다. 
    2. 여러개의 공개키를 생성해도 되지만, 매핑되는 각각의 개인키의 위치를 따로 지정해야 해서 불편하다. 
    3. 디렉토리를 변경해서 id_ed25519(개인키)와 id_ed25519.pub(공개키)이 있는지 확인한다.
  2. 루트 디렉토리로 이동해서 키를 생성한다. 
  3. ssh-keygen -t ed25519 -C "깃허브계정"
  4. 키를 저장할 경로 지정 
  5. 비밀번호를 추가로 지정할지 여부를 물음
  6. 생성완료 
  7. 공개키가 저장된 위치로 디렉토리를 이동하고 공개키를 출력한 후에 복사해서 깃허브에 등록
  8. cat id_ed25519.pub                                         (출력)
  9. clip < ~/ .ssh/id_ed25519.pub                            (복사)
  10. 나의 깃허브 접속 -> 프로필 -> 세팅 -> SSH and GPG keys -> New SSH key -> 공개키를 복사한다.
  11. 소스트리에 개인키를 등록한다. 
  12. 도구(tool) -> 옵션 -> SSH 클라이언트 설정 부분에서 OpenSSH로 설정하고, 개인키가 저장된 위치의 경로를 지정한 후에 확인을 누르면 공개키와 개인키가 연결이 완료된다.

[브랜치란?] 

[브랜치를 병합시 발생하는 충돌 제어]

 

 

https://old-developer.tistory.com/122

참고 : https://www.lainyzine.com/ko/article/creating-ssh-key-for-github/