지난 몇 년 동안 웹 개발에서 훨씬 더 흔하게 작동했습니다. 버전 제어하기 전에 동일한 개발 프로젝트에서 원격으로 작동하는 것은 절대적인 악몽이었을 것입니다. 개발자는해야했을 것입니다 대형 파일을 보냅니다 서로 (이메일을 통해 이메일을 통해 이메일을 통해)되기 전에 자신의 코드를 붙여 넣습니다. 추가 된 것을 추적 할 수있는 실제 방법은 없었습니다.
고맙게도, 버전 관리가 도착하여 모든 전면에서 개발을 훨씬 더 관리 할 수 있습니다. 웹 프로젝트는 특히 원격 개발 팀에서 일하면서 구현 및 관리가 훨씬 쉽게되었습니다. 더 이상 덮어 쓰는 웹 사이트의 현재 버전에 대해 더 이상 걱정할 필요가 없습니다. 각 팀 구성원은 언제든지 모든 파일에서 모든 파일에서 작업 할 수 있습니다. 파일의 최신 버전이 저장되고있는 위치에 대한 혼란은 없습니다. 클라우드 스토리지 프로세스도 도움이됩니다.
이 튜토리얼에서는 사용할 것입니다 github. 코드를 관리합니다. Bitbucket 및 TFVC와 같은 다양한 유형의 버전 제어 도구가 있지만 모두 다르지만 원칙은 코드를 관리 할 때 동일하게 유지됩니다.
사이트 빌드 프로세스를 더 쉽게 만들 수있는 더 많은 방법을 보려면 맨 위로 가이드를 참조하십시오. 웹 사이트 빌더 과 웹 호스팅 서비스.
첫째, 개발 및 배포 프로세스를 원활하게 실행하도록 모든 팀에서 일할 때 성공적인 분기 모델을 갖는 것이 매우 중요합니다. 당신은 동일한 프로젝트에서 일하는 여러 개발자가있을 가능성이 큽니다. 원격 인력으로 작업 할 때, 나는 최고의 워크 플로가 세 가지 주요 분기로 구성되어 있고 일시적인 일련의 임시 분기로 구성됩니다.
또한 기능 분기 세트가있을 것입니다. 그러나 처음에는 새로운 기능을 만드는 데 일시적 일 것입니다.
원격으로 일하는 두 개 개발자가있는 팀을 운영하는 것으로 가정합시다. 우리는 그들을 Sarah와 James라고 부를 것입니다 : 그들은 모두 클라이언트를 위해 동일한 전자 상거래 웹 사이트에서 일하고 있습니다. Sarah는 고객 세부 정보를 등록하는 기능을 개발해야합니다.
우리는 이것을 스프린트 백 로그에 추가, 편집 및 제거하는 세 가지 티켓을 추가, 편집 및 제거하는 세 가지 별도의 사용자 스토리로 끊을 것입니다.
그래서 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 스테이징 추가 세부 사항
우리는 이제 고객 세부 사항 기능 지점이 있으며 두 사용자 스토리가 개발 '추가 세부 정보'및 '삭제 자세한 내용'의 지점이 있습니다.
그녀의 코드가 검토되면 그녀는 그녀의 가지를 준비 할 수 있습니다. 티켓은 이제 리드 개발자의 유효성 검사를 기다리는 유효성 검사 열에 있습니다.
// 그녀는 스테이징 지점의 마지막 버전을 얻습니다.
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 개발
모든 것이 완료되고 프로덕션에 배포 할 준비가되면 제임스 병합이 릴리스로 발전하고 배포를 시작합니다. 이 시점에서 그는 모든 코드가 정확하고 고객이 행복하다는 것을 알게 될 것입니다. 그는 각 버전의 역사를 얻기 위해 릴리스의 커밋을 태그합니다.
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
또한이 도움이되는 많은 병합 도구 응용 프로그램도 있습니다. 만화경은 맥을위한 훌륭한 것입니다.
특히 개발자가 사무실 기반이 아닌 일 개발자가없는 일과 버그와 같은 일을 관리하기위한 프로젝트 관리 도구가있는 리드 개발자만큼이나 중요합니다. Zenhub 및 Asuna와 같은 거기에 수많은 솔루션이 있지만 GitHub의 내장 프로젝트 및 이슈 시스템이 최상이라고 믿습니다.
새 프로젝트 설정, 보드 만들기 또는 문제를 할당하는 것과 같은 일을 할 수 있습니다. 그리고 문제가있는 문제를 혼동시키지 마십시오. 다른 것들 중 향상된, 질문 및 버그에도 사용할 수 있습니다.
다음은 가장 좋은 기능 중 일부입니다.
GitHub에 가서 저장소 중 하나로 가면 프로젝트라는 탭이 표시됩니다. 거기에서 새 프로젝트를 선택하고 프로젝트 세부 정보를 설정하고 새 프로젝트 템플릿을 만듭니다.
이제 맨 위의 문제 탭을 선택하고 새 문제를 선택하면 새 문제를 만들 수 있습니다. 그런 다음 다양한 라벨을 적용 할 수 있습니다. 이들은 버그, 향상, 질문 및 복제본과 같은 것들입니다. 새로운 기능이나 요청에 대한 향상을 사용할 수도 있습니다. 그런 다음 다양한 팀 구성원을 작업, 이정표 및 방금 생성 한 프로젝트에 할당 할 수 있습니다.
그런 다음 할당 된 구성원은 모든 작업 목록을 가지고 있으며 현재 프로젝트 보드를 사용하여 현재 내장 된 내용을 추적 할 수 있습니다. 이전 튜토리얼을 기억하면 우리는 티켓을 스프린트 백 로그와 유효성 검사로 이동하는 것에 대해 이야기하고있었습니다. 그래서 GitHub는 프로젝트를 감독하기위한 올인원 도구로 정말로 작동합니다.
이 기사는 원래 311 호에서 출판되었습니다 그물 웹 디자이너 및 개발자를위한 세계 최고의 잡지. 이 문제를 구입하십시오 또는 여기를 구독하십시오 ...에
관련 기사:
가입 흐름이든 다중 뷰 스테퍼이든, 양식은 디지털 제품 설계의 가장 중요한 구성 요소 중 하나이..
Pixate를 사용하면 Android 및 iOS 장치에서 미리 볼 수있는 대화식 모바일 모바일 모바일 모바일 모바일을 신속하게 프로토 타입 할 수 있습니다. 이..