원격 팀을위한 마스터 버전 제어

Sep 11, 2025
어떻게
Version control

지난 몇 년 동안 웹 개발에서 훨씬 더 흔하게 작동했습니다. 버전 제어하기 전에 동일한 개발 프로젝트에서 원격으로 작동하는 것은 절대적인 악몽이었을 것입니다. 개발자는해야했을 것입니다 대형 파일을 보냅니다 서로 (이메일을 통해 이메일을 통해 이메일을 통해)되기 전에 자신의 코드를 붙여 넣습니다. 추가 된 것을 추적 할 수있는 실제 방법은 없었습니다.

  • 6 젊은 웹 개발자를위한 기술이 있어야합니다

고맙게도, 버전 관리가 도착하여 모든 전면에서 개발을 훨씬 더 관리 할 수 ​​있습니다. 웹 프로젝트는 특히 원격 개발 팀에서 일하면서 구현 및 관리가 훨씬 쉽게되었습니다. 더 이상 덮어 쓰는 웹 사이트의 현재 버전에 대해 더 이상 걱정할 필요가 없습니다. 각 팀 구성원은 언제든지 모든 파일에서 모든 파일에서 작업 할 수 있습니다. 파일의 최신 버전이 저장되고있는 위치에 대한 혼란은 없습니다. 클라우드 스토리지 프로세스도 도움이됩니다.

이 튜토리얼에서는 사용할 것입니다 github. 코드를 관리합니다. Bitbucket 및 TFVC와 같은 다양한 유형의 버전 제어 도구가 있지만 모두 다르지만 원칙은 코드를 관리 할 때 동일하게 유지됩니다.

사이트 빌드 프로세스를 더 쉽게 만들 수있는 더 많은 방법을 보려면 맨 위로 가이드를 참조하십시오. 웹 사이트 빌더 웹 호스팅 서비스.

분기 모델

첫째, 개발 및 배포 프로세스를 원활하게 실행하도록 모든 팀에서 일할 때 성공적인 분기 모델을 갖는 것이 매우 중요합니다. 당신은 동일한 프로젝트에서 일하는 여러 개발자가있을 가능성이 큽니다. 원격 인력으로 작업 할 때, 나는 최고의 워크 플로가 세 가지 주요 분기로 구성되어 있고 일시적인 일련의 임시 분기로 구성됩니다.

  • 지점 개발 : 모든 코드 라인은 클라이언트가 테스트하고 유효성이 검사되었습니다.
  • 스테이징 지점 : 이것은 유효성 검사 환경에 해당합니다.
  • 분리 분기 : 여기에는 프로덕션 분야의 웹 사이트의 마지막 버전이 들어 있습니다.

또한 기능 분기 세트가있을 것입니다. 그러나 처음에는 새로운 기능을 만드는 데 일시적 일 것입니다.

한 프로젝트에 여러 개발자

Version control: Branching model

최고의 워크 플로는 세 가지 주요 가지로 구성됩니다 : 개발, 준비 및 릴리스

원격으로 일하는 두 개 개발자가있는 팀을 운영하는 것으로 가정합시다. 우리는 그들을 Sarah와 James라고 부를 것입니다 : 그들은 모두 클라이언트를 위해 동일한 전자 상거래 웹 사이트에서 일하고 있습니다. Sarah는 고객 세부 정보를 등록하는 기능을 개발해야합니다.

우리는 이것을 스프린트 백 로그에 추가, 편집 및 제거하는 세 가지 티켓을 추가, 편집 및 제거하는 세 가지 별도의 사용자 스토리로 끊을 것입니다.

기능 지점

Version control: Feature branches

고객 세부 정보 기능 개발 및 추가 자세한 내용을위한 사용자 이야기 분기를 추가하기위한 기능 분기 추가

그래서 Sarah는 고객 세부 정보 추가 섹션에서 시작한다고 가정 해 봅시다. 그녀는 기능 분기 '고객 세부 정보'및 첫 번째 작업 '추가 자세한 내용을위한 사용자 스토리를 만들어야합니다.

 GIT 체크 아웃 개발 및 amp; & amp; GIT 당기는 기원 / 개발
GIT 체크 아웃 -B 기능 / 고객 - 세부 사항
git checkout -b add-details 

Sarah는 지속적으로 일시적인 지점 '추가 주소'에서 계속해서 일을하고 그녀가 개발하는 일로 그녀의 일을 저지른 것입니다. 이제 제임스가 고객 세부 사항 기능을 가진 사라를 돕고 싶어하므로 세부 사항 삭제 작업을 시작합니다.

James는 공유 지점의 마지막 버전을 가져 와서 사용자 스토리 '삭제 세부 정보'에 대한 새 지점을 만듭니다. 그런 다음 그는 Sarah의 코드를 덮어 쓰지 않고도 자신의 추가를 만들 수 있습니다.

 GIT 체크 아웃 기능 / 고객 - 세부 정보
GIT 당기기 원산지 / 기능 / 고객 - 세부 사항
GIT 체크 아웃 -B 삭제 세부 사항 

그는 임시 지점을 로컬로 코드로 사용하여 변경 사항을 확약합니다. Sarah가 현지에서 그녀의 기능을 완성하면 티켓을 코드 리뷰에 넣습니다. 그녀는 코드를 스테이징 지점으로 밀어 넣고 준비 환경으로 끌어 오기 요청을 엽니 다.

// 그녀의 코드를 스테이징 지점에 밀어 넣습니다
Git Push Origin Add-detares.
// 그녀는 스테이징 환경으로 끌어 오기 요청을 엽니 다.
Git Request-Pull 스테이징 추가 세부 사항 

우리는 이제 고객 세부 사항 기능 지점이 있으며 두 사용자 스토리가 개발 '추가 세부 정보'및 '삭제 자세한 내용'의 지점이 있습니다.

병합

Version control: Adding new branch

사용자 스토리 삭제 세부 정보를위한 새 지점 만들기, 다른 사람의 코드를 덮어 쓰지 않고도 추가 할 수 있습니다.

그녀의 코드가 검토되면 그녀는 그녀의 가지를 준비 할 수 있습니다. 티켓은 이제 리드 개발자의 유효성 검사를 기다리는 유효성 검사 열에 있습니다.

 // 그녀는 스테이징 지점의 마지막 버전을 얻습니다.
GIT 체크 아웃 준비 & amp; & amp; GIT 당기는 기원 / 준비
GIT 병합 추가 세부 정보 및 amp; & amp; Git Push Origin Staging
// 그녀는 유효성 검사 환경을 만듭니다
// 및 제품 소유자에게 유효성을 검사하도록 요청합니다 

일단 사라의 작품이 유효성이 검사되면 티켓을 완료 칼럼으로 이동할 수 있습니다. 그녀는 자신의 작업을 기능 지점에 병합하고 고객 세부 정보를 삭제하는 것과 같은 다른 사용자 이야기를 시작할 수 있습니다.

 // 그녀는 그 지점의 마지막 버전을 가져옵니다.
GIT 체크 아웃 기능 / 고객 - 세부 사항
GIT는 원산지 기능 / 고객 - 세부 사항을 당깁니다
Git 병합 추가 주소 및 amp; & amp; Git Push 원산지 기능 / 고객 - 세부 사항 

전체 기능이 리드 개발자와 클라이언트 모두에 의해 유효성이 검사되면 Sarah는 준비가 된 것처럼 기능 분기를 개발할 수 있습니다.

 // 그녀는 개발 지점의 마지막 버전을 얻습니다.
GIT 체크 아웃 개발 및 amp; & amp; GIT 당기는 기원 / 개발
GIT 병합 기능 / 고객 - 세부 정보 및 amp; & amp; Git Push Origin 개발 

생산에 배치하십시오

Version control: Deployment

일단 배포 준비가되면, 병합이 릴리스로 개발하고 배포를 시작합니다.

모든 것이 완료되고 프로덕션에 배포 할 준비가되면 제임스 병합이 릴리스로 발전하고 배포를 시작합니다. 이 시점에서 그는 모든 코드가 정확하고 고객이 행복하다는 것을 알게 될 것입니다. 그는 각 버전의 역사를 얻기 위해 릴리스의 커밋을 태그합니다.

 GIT 체크 아웃 개발 및 amp; & amp; GIT 당기는 기원 / 개발
GIT 체크 아웃 릴리스 및 amp; & amp; Git Pull Origin / 릴리스
GIT 병합 개발 및 amp; & amp; Git Tag 2.1.
Git Push Origin 릴리스 - 태그 

이 워크 플로우를 따라갈 규칙

이 원격 개발 워크 플로는 먼저 이해하기가 어렵지만 팀 이이 방법으로 작업 할 수 있도록 팀을 얻는 경우 덮어 쓸 수있는 파일이나 개발자가 동일한 영역에서 작업하는 것에 대해 공포가 필요하지 않고 무료 작업 흐름이 있습니다.

기억해야 할 몇 가지 중요한 것들이 있습니다.

  • 원격 개발자가 원격 개발자를 가르 칠 필요가있는 첫 번째 일은 버전 제어 워크 플로우이며 모두 동일한 책에서 읽는지 확인하십시오.
  • 기능을 개발하는 경우이를 더 작은 사용자 이야기로 꺾으십시오. 이렇게하면 모든 커밋을 추적하는 것이 더 쉽습니다.
  • 어떤 단계를 놓치지 마세요 : 동일한 워크 플로우를 매일 따라야합니다.
  • 다음 릴리스를 준비하기 위해 지점을 항상 개발할 필요가 있습니다.
  • 가능한 경우 매주 스테이징 저장소를 청소해야합니다. 스테이징 지점을 로컬 및 원격으로 삭제하고 지점 개발에서 다시 작성해야합니다 - 아래 예제를 참조하십시오.
 Git Co 개발 & amp; & amp; GIT 당기는 기원 / 개발
Git Branch -D Staging & amp; & amp; Git Push Origin --Delete Staging
GIT CO-B 스테이징 & amp; & amp; GIT 끌어 오기 기원 준비 

추가 워크 플로

더 작은 프로젝트를 사용하면 복잡한 워크 플로우를 사용할 수 있습니다. Master는 최신 버전이 가장 많이 사용되는 마스터를 사용할 수 있습니다. 포럼, Form, Checkout System이든 상관없이 각 추가 기능에 대한 분기 세트가 포함되어 있습니다. 그것은 모두 당신의 개인적인 취향에 따라 다릅니다.

병합 충돌 관리

병합 충돌을 다루는 것은 당신이 같은 방에서 일하고 있지만 다른 사무실에서 일하고있는 경우 더 많은 악몽이 될 수 있다면 충분히 어렵습니다. 가장 중요한 것은 충돌이 발생하기 전에 항상 병합을 취소하고 상태로 되돌릴 수 있음을 기억하는 것입니다.

리드 개발자 또는 팀이 독립적으로하는 것과 같이 모든 병합을 수행하는지 여부는 첫 번째 단계가 일어난 일을 이해하는 것입니다.

  • 귀하의 공동 개발자 중 하나가 같은 파일에서 동일한 줄을 편집 했습니까?
  • 수정 한 파일을 삭제 했습니까?
  • 둘 다 같은 이름으로 파일을 추가 했습니까?

git은 당신에게 당신에게 말할 것입니다 unmerged 경로 통하다 GIT 상태 :

 $ git 상태
# 지점 체크 아웃 시스템에서
# 당신은 unmerged 경로가 있습니다.
# (충돌 및 실행 "Git Commit")
#
# unmerged 경로 :
# (사용 "Git add & lt; 파일을 표시하려면).
#
# 모두 수정 : Checkout.html.
#
커밋에 변경된 변경 사항 없음 ( "Git Add"및 / 또는 "git commit -a"사용) 

이제 충돌의 가장 일반적인 원인은 변경 사항이 같은 줄에 동일한 파일에 영향을 미치는 경우입니다. 그래서, 충돌 된 선의 내용을 살펴 보겠습니다. 당신은 git가 그것을 동봉하여 충돌 지역을 표시 할 것이라는 사실에 정말로 좋다는 것을 알게 될 것입니다. & lt; & lt; & lt; & lt; & lt; & gt; & gt; & gt; & gt; [기타 / 지점 / 이름] ...에 이 경우, 체크 아웃 시스템 ...에

<114] & lt; & lt; & lt; & lt; & lt; 머리 이 줄은 "사용자 형식"분기에서 작업하는 동안 커밋되었습니다. ======= 대조적 으로이 줄은 "체크 아웃 시스템"분기에서 일하는 동안 커밋되었습니다. & gt; & gt; & gt; & gt; & gt; Refs / heads / 체크 아웃 시스템

첫 번째 마커 후의 내용은 현재 작업 지점에서 발생합니다. 앵글 브래킷이 끝나면 Git은 변경 사항이 어떤 지점에서 왔는지 알려줍니다. 한 줄 ======= 두 가지 충돌하는 변경 사항을 분리합니다.

이제 편집기에서 파일을 열고 충돌 마커를 검색하고 필요한 수정을 수행 할 수 있습니다. 완료되면 파일이 표시되도록 원하는대로 정확하게 보일 필요가 있거나, 편집 된 버전 중 하나와 함께 간단히 가면 Git에게 다음을 알려 드릴 수 있습니다. 우리 것 또는 그들의 것 ...에

 Git Checkout --ours 경로 / to / conflict-file.html 

또한이 도움이되는 많은 병합 도구 응용 프로그램도 있습니다. 만화경은 맥을위한 훌륭한 것입니다.

프로젝트 및 이슈 관리

Version control: Issues and problems

문제에 대한 문제를 혼동하지 마십시오 : 향상된, 질문 및 버그에 대한 이슈 라벨링을 사용할 수도 있습니다.

특히 개발자가 사무실 기반이 아닌 일 개발자가없는 일과 버그와 같은 일을 관리하기위한 프로젝트 관리 도구가있는 리드 개발자만큼이나 중요합니다. Zenhub 및 Asuna와 같은 거기에 수많은 솔루션이 있지만 GitHub의 내장 프로젝트 및 이슈 시스템이 최상이라고 믿습니다.

새 프로젝트 설정, 보드 만들기 또는 문제를 할당하는 것과 같은 일을 할 수 있습니다. 그리고 문제가있는 문제를 혼동시키지 마십시오. 다른 것들 중 향상된, 질문 및 버그에도 사용할 수 있습니다.

다음은 가장 좋은 기능 중 일부입니다.

  • 내장 태깅 시스템 : 워크 플로우를 구성하고 우선 순위를 지정하고 관련 정보는 프로젝트를 쉽게 검색 할 수 있습니다.
  • 마일스톤 : BETA 발사 또는 10 월에 완료되기 전에 수정 해야하는 버그와 같은 특정 기능이나 프로젝트 단계와 관련된 문제를 해결하는 데 적합합니다.
  • 다중 과제 : 문제를 일괄 적으로 사용자에게 할당하고 시간을 절약하고 효율적으로 만들 수 있습니다.
  • 댓글 달기 : 엔지니어 및 관리 팀은 Inbuilt Commenting System을 사용하는 모든 단계에서 진행 상황과 결과를 쉽게 토론 할 수 있습니다.
  • 작업 목록 : 큰 문제는 수십 가지 미세한 문제의 창설을 낙담시켜 모든 작업을 동일한 장소에서 유지할 수 있습니다.
  • MarkDown 형식 : MarkDown 서식을 사용할 수있는 기능은 개발자에게 인기가 있으며 GitHub 주변 대부분의 장소에서 사용할 수 있습니다.
  • 프로젝트 보드 : 이들은 문제를 하우스, 요청 및 메모를 끌어 올릴 수 있으며, 선택의 열에서 카드를 분류하여 큰 프로젝트 전체를 볼 수 있습니다.
  • 높은 보안 : GitHub을 신뢰할 수 있도록 데이터를 안전하게 유지하고 대부분의 다른 프로젝트 관리 시스템보다 위반하기가 더 어려울 수 있습니다.

프로젝트 설정

GitHub에 가서 저장소 중 하나로 가면 프로젝트라는 탭이 표시됩니다. 거기에서 새 프로젝트를 선택하고 프로젝트 세부 정보를 설정하고 새 프로젝트 템플릿을 만듭니다.

이제 맨 위의 문제 탭을 선택하고 새 문제를 선택하면 새 문제를 만들 수 있습니다. 그런 다음 다양한 라벨을 적용 할 수 있습니다. 이들은 버그, 향상, 질문 및 복제본과 같은 것들입니다. 새로운 기능이나 요청에 대한 향상을 사용할 수도 있습니다. 그런 다음 다양한 팀 구성원을 작업, 이정표 및 방금 생성 한 프로젝트에 할당 할 수 있습니다.

그런 다음 할당 된 구성원은 모든 작업 목록을 가지고 있으며 현재 프로젝트 보드를 사용하여 현재 내장 된 내용을 추적 할 수 있습니다. 이전 튜토리얼을 기억하면 우리는 티켓을 스프린트 백 로그와 유효성 검사로 이동하는 것에 대해 이야기하고있었습니다. 그래서 GitHub는 프로젝트를 감독하기위한 올인원 도구로 정말로 작동합니다.

이 기사는 원래 311 호에서 출판되었습니다 그물 웹 디자이너 및 개발자를위한 세계 최고의 잡지. 이 문제를 구입하십시오 또는 여기를 구독하십시오 ...에

관련 기사:

  • 프리랜서 개발자로 성공하는 방법
  • 재사용 가능한 반응 구성 요소를 개발하십시오
  • 개발자 기술을 개발하기위한 4 가지 팁

어떻게 - 가장 인기있는 기사

디지털 자산을 만드는 방법

어떻게 Sep 11, 2025

디지털 사용에 대한 자산 준비는 핵심 작업입니다. 주니어 디자이너 오늘 - 그리고 뚜�..


창조적 인 어셈블리가있는 게임 캐릭터 수준 업

어떻게 Sep 11, 2025

워해머 미니어처를 총 전쟁 비디오 게임 캐릭터로 번역하기 위해 게임 워크샵을 만드는 다양한 �..


반응적이고 디바이스 - 불가지론 형태를 설계하는 방법

어떻게 Sep 11, 2025

가입 흐름이든 다중 뷰 스테퍼이든, 양식은 디지털 제품 설계의 가장 중요한 구성 요소 중 하나이..


Cinema 4D에서 만화 캐릭터를 만드는 방법

어떻게 Sep 11, 2025

모바일 게임과 인디의 출현으로 비디오 게임 , 일러스트 레이터의 큰 유입과 애니메이..


오래된 마스터처럼 초상화를 칠하십시오

어떻게 Sep 11, 2025

이 자습서에서는 오래된 마스터 그림을 복사하는 이점을 심층적으로 살펴 보겠습니다. 나는 그 �..


웹에 대한 간단한 삽화 만들기

어떻게 Sep 11, 2025

나는 앉아서 음악을 연주하고 조명을 흐리게하고 노트북을 열었습니다. 나는 할 일이 많았습니다..


현금 흐름을 효과적으로 관리하는 5 가지 방법

어떻게 Sep 11, 2025

귀하의 현금 흐름을 통제하는 것은 프리랜서 성공의 핵심이며, 당신이 그렇게 효과적으로 당신이..


프로토 타입 PIXTATE의 플로팅 액션 버튼

어떻게 Sep 11, 2025

Pixate를 사용하면 Android 및 iOS 장치에서 미리 볼 수있는 대화식 모바일 모바일 모바일 모바일 모바일을 신속하게 프로토 타입 할 수 있습니다. 이..


카테고리