풀데브코스
협업 환경 구성_Git 브랜치 전략 기반의 협업 워크 플로우
woody-j
2024. 2. 29. 19:10
1. 깃허브 토큰 생성
여러 IDE에서 Token 로그인을 할 수 있다.
토큰을 발급한 이후부터는 Git Bash에서 패스워드에 계정 비밀번호 대신 토큰을 입력하여 로그인해야한다.
하단의 링크로 들어가 Generate new token으로 토큰을 생성한다.
https://github.com/settings/tokens
1) Select scopes
- repo: 개인 저장소에 대한 전체 제어 권한을 부여합니다.
- 코드, 커밋 상태, 리포지토리 초대, 협력자, 배포 상태 및 리포지토리 웹후크에 대한 읽기 및 쓰기 권한을 포함하여 퍼블릭 및 프라이빗 리포지토리에 대한 모든 권한을 부여
- repo:status: 커밋 상태에 접근할 수 있는 권한을 부여합니다.
- repo_deployment: 배포 상태에 접근할 수 있는 권한을 부여합니다.
- public_repo: 공개 저장소에 접근할 수 있는 권한을 부여합니다.
- repo:invite: 저장소 초대에 접근할 수 있는 권한을 부여합니다.
- security_events: 보안 이벤트를 읽고 쓸 수 있는 권한을 부여합니다.
- workflow: GitHub 액션 워크플로우를 업데이트할 수 있는 권한을 부여합니다.
- write:packages: GitHub 패키지 레지스트리에 패키지를 업로드할 수 있는 권한을 부여합니다.
- read:packages: GitHub 패키지 레지스트리에서 패키지를 다운로드할 수 있는 권한을 부여합니다.
- delete:packages: GitHub 패키지 레지스트리에서 패키지를 삭제할 수 있는 권한을 부여합니다.
- admin:org: 조직과 팀에 대한 전체 제어 권한, 조직 프로젝트의 읽기 및 쓰기 권한을 부여합니다.
- write:org: 조직 및 팀 멤버십, 조직 프로젝트의 읽기 및 쓰기 권한을 부여합니다.
- read:org: 조직 및 팀 멤버십, 조직 프로젝트의 읽기 권한을 부여합니다.
- manage_runners:org: 조직의 러너와 러너 그룹을 관리할 수 있는 권한을 부여합니다.
- admin:public_key: 사용자 공개 키에 대한 전체 제어 권한을 부여합니다.
- write:public_key: 사용자 공개 키를 쓸 수 있는 권한을 부여합니다.
- read:public_key: 사용자 공개 키를 읽을 수 있는 권한을 부여합니다.
- admin:repo_hook: 저장소 후크에 대한 전체 제어 권한을 부여합니다.
- write:repo_hook: 저장소 후크를 쓸 수 있는 권한을 부여합니다.
- read:repo_hook: 저장소 후크를 읽을 수 있는 권한을 부여합니다.
- admin:org_hook: 조직 후크에 대한 전체 제어 권한을 부여합니다.
- gist: gist를 생성할 수 있는 권한을 부여합니다.
- notifications: 알림에 접근할 수 있는 권한을 부여합니다.
- read:user: 모든 사용자 프로필 데이터를 읽을 수 있는 권한을 부여합니다.
- user:email: 사용자의 이메일 주소에 접근할 수 있는 권한을 부여합니다 (읽기 전용).
- user:follow: 사용자를 팔로우하거나 언팔로우 할 수 있는 권한을 부여합니다.
- delete_repo: 저장소를 삭제할 수 있는 권한을 부여합니다.
- write:discussion: 팀 토론을 읽고 쓸 수 있는 권한을 부여합니다.
- read:discussion: 팀 토론을 읽을 수 있는 권한을 부여합니다.
- admin:enterprise: 엔터프라이즈에 대한 전체 제어 권한을 부여합니다.
- manage_runners:enterprise: 엔터프라이즈의 러너와 러너 그룹을 관리할 수 있는 권한을 부여합니다.
- manage_billing:enterprise: 엔터프라이즈의 결제 데이터를 읽고 쓸 수 있는 권한을 부여합니다.
- read:enterprise: 엔터프라이즈 프로필 데이터를 읽을 수 있는 권한을 부여합니다.
- audit_log: 감사 로그에 대한 전체 제어 권한을 부여합니다.
- read:audit_log: 감사 로그를 읽을 수 있는 권한을 부여합니다.
- codespace: 코드스페이스에 대한 전체 제어 권한을 부여합니다.
- codespace:secrets: 코드스페이스 시크릿을 생성, 읽기, 업데이트, 삭제할 수 있는 권한을 부여합니다.
- copilot: GitHub Copilot 설정 및 좌석 할당에 대한 전체 제어 권한을 부여합니다.
- manage_billing:copilot: Copilot Business 좌석 할당을 보고 편집할 수 있는 권한을 부여합니다.
- project: 프로젝트에 대한 전체 제어 권한을 부여합니다.
- read:project: 프로젝트를 읽을 수 있는 권한을 부여합니다.
- admin:gpg_key: 사용자의 공개 GPG 키에 대한 전체 제어 권한을 부여합니다.
- write:gpg_key: 사용자의 공개 GPG 키를 쓸 수 있는 권한을 부여합니다.
- read:gpg_key: 사용자의 공개 GPG 키를 읽을 수 있는 권한을 부여합니다.
- admin:ssh_signing_key: 사용자의 공개 SSH 서명 키에 대한 전체 제어 권한을 부여합니다.
- write:ssh_signing_key: 사용자의 공개 SSH 서명 키를 쓸 수 있는 권한을 부여합니다.
- read:ssh_signing_key: 사용자의 공개 SSH 서명 키를 읽을 수 있는 권한을 부여합니다.
2. 깃허브 연동 (CLI clone)
1) git clone 원격저장소URL
2) GUI 사용
git remote | 원격 저장소(remote repository)의 목록을 관리하는데 사용 |
git remote -v | 현재 프로젝트에 등록된 모든 원격 저장소의 목록 |
git remote add [이름] [URL] | 원격 저장소를 추가 |
git remote remove origin | 칭으로 연결되어 있던 원격 저장소와의 연결이 제거 |
git push | 로컬 저장소의 변경 사항을 원격 저장소에 업로드하는데 사용 |
git status | 현재 저장소의 상태를 보여주는데 사용, 어떤 파일이 수정되었거나 커밋되지 않았는지, 현재 어떤 브랜치에 있는지 등의 정보를 제공 |
git pull | 원격 저장소의 최신 변경사항을 로컬 저장소에 가져오는데 사용 |
git branch | * 는 현재 위치해 있는 브랜치 |
git checkout - | 직전 브랜치로 이동 |