Bitbucket으로 더 나은 코드 만들기: 시작 4단계
시작하기 전에 자습서를 직접 따라해 보려면 먼저 Bitbucket Cloud 계정을 만들어야 합니다. 이 가이드에서는 Bitbucket의 사용자가 많이 사용하는 부분에 대해 살펴봅니다. 따라서 Git을 설치해야 하며 기본적인 Git 명령 및 Git 작동 방식에 익숙해야 합니다.
Git을 처음 사용하시나요? 걱정하지 마세요. Atlassian이 도와 드리겠습니다. Git에 대한 입문서인 Getting Git Right(Git을 올바르게 사용하기) 자습서를 확인하세요.
이제 Bitbucket을 시작해 봅시다.
1단계: Bitbucket에 코드 보관
리포지토리(업계에서는 줄여서 '리포'라고도 함)는 Bitbucket에서 코드가 저장되어 있는 공간입니다. 필요에 따라 시작하는 다음과 같은 몇 가지 방법이 있습니다.
새로운 빈 리포지토리 만들기
- 왼쪽 전역 사이드바에서 +를 클릭하고 Create new(새로 만들기)에서 Repository(리포지토리)를 선택합니다.
- 리포지토리 이름을 지정합니다. 매우 중요한 단계입니다! 리포지토리 이름이 URL에 포함됩니다.
- Include a README?(추가 정보를 포함하시겠습니까?) 옵션을 Yes, with a template(예, 템플릿 포함)으로 설정합니다.
- 나머지는 기본값으로 두고 Create(만들기)를 클릭합니다.
![새 리포지토리 만들기](png/create-new-repository4b1a.png)
다른 Git 공급자로부터 리포지토리 가져오기
- 왼쪽 전역 사이드바에서 +를 클릭하고 Import(가져오기)에서 Repository(리포지토리)를 선택합니다.
-
리포지토리에 액세스할 수 있는 URL을 제공합니다.
-
리포지토리에 권한 부여가 필요한 경우 Requires authorization(권한 부여 필요)을 선택하고 액세스를 위한 자격 증명을 제공합니다.
-
리포지토리 이름을 지정합니다. 매우 중요한 단계입니다! 리포지토리 이름이 URL에 포함됩니다.
-
나머지는 기본값으로 두고 Import repository(리포지토리 가져오기)를 클릭합니다.
![새 리포지토리 만들기](png/import-existing-code4b1a.png)
2단계: 로컬에서 설정하고 전역으로 협업
리포지토리가 클라우드에 있는 경우 이제 Bitbucket에 있는 코드에 기여하거나 코드를 변경하도록 로컬 시스템을 설정해야 합니다. 이 단계를 진행하려면 먼저 Git을 설치하고 구성해야 합니다. 설치 및 구성 단계를 건너뛰었다면 다시 돌아가 지금 바로 이 단계를 진행하세요. 이 단계를 진행하는 데 도움이 되는 별도의 가이드도 있습니다.
Bitbucket 리포지토리 복제
Git을 만들거나 가져온 후 Bitbucket 리포지토리에서 코드 변경에 대한 협업을 진행하려면 먼저 리포지토리를 로컬 시스템에 복제해야 합니다. Git 복제에 대한 자세한 사항을 읽어보세요.
- 왼쪽 전역 사이드바에서 +를 클릭하고 Get to work(작업 실행)에서 Clone this repository(이 리포지토리 복제)를 선택합니다.
- 오른쪽 상단 메뉴에서 HTTPS를 선택합니다(이미 SSH 키를 설정하지 않은 경우).
- 복제 명령을 복사합니다.
![이 리포지토리 복제](png/clone-repository4b1a.png)
CLI에서 복제
- 리포지토리를 복제할 디렉터리로 변경합니다.
cd
- Bitbucket에서 복사한 명령을 붙여넣습니다. 예를 들어:
git clone https://username@bitbucket.org/teamsinspace/documentation-test.git
복제한 리포지토리와 같은 이름의 로컬 드라이브에 새로운 하위 디렉터리가 표시됩니다. 빈 리포지토리를 복제한 경우 해당 로컬 디렉터리에 아직 아무것도 없을 수 있습니다.
온라인에서 Bitbucket의 파일 변경
Bitbucket에 파일이 없는 경우
Bitbucket 리포지토리에 README(추가 정보) 파일을 추가하는 선택 단계를 건너뛰셨습니까? 괜찮습니다! 아직 리포지토리가 비어 있는 경우 리포지토리로 이동하고 Create a README(추가 정보 만들기)를 클릭하여 새로 만드세요. 이제 빈 리포지토리가 아닌 복제할 항목이 생겼습니다.
Bitbucket에서 업데이트 끌어오기
CLI에서 복제
- 리포지토리를 복제할 디렉터리로 변경합니다.
cd
- Bitbucket에서 복사한 명령을 붙여넣습니다. 예를 들어:
git clone
이제 해당 파일에 대한 변경 사항을 로컬 시스템으로 다운로드했습니다.
3단계: Bitbucket으로 기본 분기
브랜치를 사용하면 각 팀원이 기존 코드베이스 또는 다른 팀원의 작업에 영향을 주지 않으면서 여러 작업을 동시에 수행할 수 있습니다. 변경 사항을 병합할 준비가 되면 브랜치를 Bitbucket으로 푸시하여 풀리퀘스트에서 검토할 수 있습니다.
브랜치를 만드는 방법에는 몇 가지가 있으므로 팀의 요구 사항에 가장 적합한 방법을 선택하세요.
브랜치 만들기
- 리포지토리의 전역 바이드바에서 +를 클릭하고 Get to work(작업 실행)에서 Create a branch(브랜치 만들기)를 선택합니다.
- 표시되는 팝업에서 Type(유형)을 선택하고(Branching model(브랜치 모델)을 사용하는 경우) Branch name(브랜치 이름)을 입력한 다음 Create(만들기)를 클릭합니다.
![브랜치 생성](png/create-branch4b1a.png)
CLI에서 복제
- 브랜치를 만들었으면 로컬 시스템에서 fetch(가져오기) 및 checkout(체크아웃)을 합니다. Bitbucket에서 자동으로 필요한 명령을 표시합니다:
git fetch && git checkout
- 로컬에서 변경한 다음 해당 변경 사항을 브랜치에 추가, 커밋 및 푸시합니다:
git add .
git commit -m "adding a change from the feature branch"
git push origin
- 리포지토리의 원본 페이지를 클릭합니다. 드롭다운에 master 및
브랜치가 모두 표시됩니다
![브랜치 필터링](png/filter-branches4b1a.png)
로컬 리포지토리 디렉터리 내 CLI에서 복제
- Git 브랜치 명령을 사용하여 브랜치를 만듭니다.
git branch
- 이 리포지토리의 브랜치를 나열합니다. 기본 브랜치 마스터와 새로 만든 브랜치가 표시됩니다.
git branch
-
브랜치를 체크아웃합니다.
git checkout
-
새 브랜치를 Bitbucket으로 푸시합니다.
git push --set-upstream origin
이제 Bitbucket에서 브랜치를 확인하겠습니다.
-
리포지토리로 이동합니다.
-
Branches(브랜치)를 클릭합니다.
![브랜치 필터링](png/filter-branches4b1a.png)
이 작업을 수행하려면 Jira Software Cloud에 대한 액세스 권한이 필요하며 Bitbucket과 통합해야 합니다. 그러려면 관리자 권한이 필요합니다. 그러나 작동 방식을 보기 위해 통합하려는 경우 언제든지 Jira Software Cloud 무료 평가판을 신청하면 됩니다.
Jira 사이트를 설정했으면 Bitbucket Cloud를 Jira Software Cloud에 연결하기에서 두 제품을 통합하는 방법을 읽어보세요.
4단계: 풀리퀘스트로 코드 변경 사항 검토
코드 변경 사항을 Bitbucket으로 푸시했으면 동료가 변경 사항을 검토할 수 있습니다. 풀리퀘스트는 코드를 검토하고 공유 환경에서 팀과 협업할 수 있는 간단하고 효과적인 방법입니다.
풀리퀘스트 만들기
- 열린 리포지토리의 전역 사이드바에서 +를 클릭하고 Get to work(작업 실행)에서 Create a pull request(풀리퀘스트 만들기)를 선택합니다.
- 다음과 같이 풀리퀘스트 양식의 나머지 부분을 작성합니다.
![풀리퀘스트 만들기](png/pull-request-labeled4b1a.png)
- Source(원본): 병합하려는 코드를 변경한 리포지토리 및 브랜치입니다.
- Destination(대상): 변경 사항을 병합하려는 리포지토리 및 브랜치입니다.
- Title(제목) 및 Description(설명): 두 항목이 모두 이메일 알림에 표시되며 제목은 풀리퀘스트 목록에 표시됩니다.
- Reviewers(검토자): 효과적인 피드백을 제공하고 변경 사항을 승인해야 하는 검토자를 선택합니다.
- Close branch(브랜치 닫기): 풀리퀘스트가 병합되었을 때 자동으로 브랜치를 닫으려는 경우 선택합니다.
- Diff(변경 사항) 및 Commits(커밋): 변경 사항(Diff) 또는 포함된 커밋을 확인하려면 이 탭을 확인합니다.
- Create pull request(풀리퀘스트 만들기)를 클릭합니다.
리포지토리의 사이트 탐색의 풀리퀘스트 목록에서 이 풀리퀘스트를 확인할 수 있습니다.
풀리퀘스트 검토
검토자는 검토할 풀리퀘스트가 있다는 알림을 받게 됩니다. Dashboard(대시보드)의 Pull requests(풀리퀘스트) 탭에서 열린 풀리퀘스트를 찾아볼 수도 있습니다. 품질 보증을 위해 코드를 검토하는 방법에는 여러 가지가 있지만, 팀에서 어떤 방법을 선택할지는 전적으로 사용자에게 달려 있습니다. 모든 사람이 변경 사항을 이해하고 병합된 변경 사항을 승인할 수 있도록 동료와 효과적으로 커뮤니케이션하는 몇 가지 방법을 소개합니다.
diff(차이점) 보기
풀리퀘스트를 보면 풀리퀘스트에서 변경된 모든 파일의 차이점(변경 사항)이 표시됩니다. 녹색으로 음영 처리된 선은 추가된 항목이고, 빨간색은 제거된 항목입니다. 풀리퀘스트 맨 위에 있는 Commits(커밋) 탭을 클릭하면 어떤 커밋이 포함되었으며 대량 풀리퀘스트를 검토하는 데 어떤 커밋이 유용한지 확인할 수도 있습니다.
의견에 피드백 남기고 질문하기
Bitbucket에서는 전체 풀리퀘스트, 특정 파일 또는 파일 내 특정 위치에 의견을 남길 수 있습니다. 피드백에 컨텍스트 또는 특정 내용을 제공하려는 경우 이 기능을 유용하게 사용할 수 있습니다. 의견에는 이미지, 링크, 서식 있는 텍스트를 포함할 수 있으며, 고유한 URL이 있어 빠르게 특정 의견을 공유할 수 있습니다.
풀리퀘스트 승인 또는 거부
코드 변경 사항을 검토했으면 이제 이 풀리퀘스트를 병합할 준비가 되었는지 풀리퀘스트 작성자에게 알려야 합니다. Approve(승인) 버튼을 클릭하면 풀리퀘스트 작성자에게 알림을 보내며 변경 사항을 안전하게 병합할 수 있다는 의견을 나타내는 것입니다. 풀리퀘스트를 거부하는 경우 그 반대도 마찬가지입니다. 풀리퀘스트를 거부하면 다시 열 수 없습니다. 브랜치를 병합하려면 새 풀리퀘스트를 열어야 합니다.
풀리퀘스트를 거부하는 것은 작성자에게 언짢을 수 있으며 목표에서 완전히 벗어났거나 더 이상 필요하지 않은 작업에 대한 변경 사항에 대해서만 풀리퀘스트를 거부하는 것이 좋습니다. 다른 팀원의 작업을 검토할 때에는 신중하게 접근합니다. 상대방이 나를 이해해 주기를 바라기 전에 항상 내가 먼저 상대방을 이해하도록 노력합니다.
![](png/merge4b1a.png)
풀리퀘스트 병합
풀리퀘스트에서 코드를 검토하고 승인한 다음 Merge(병합) 버튼을 클릭하여 브랜치를 기본 브랜치로 병합합니다. 이제 소스 브랜치의 코드 변경 사항이 대상 브랜치에 완전히 통합되었습니다.