Điều khiển phiên bản chính cho các nhóm từ xa

Sep 17, 2025
Cách
[số 8]

Làm việc từ xa đã trở nên phổ biến hơn nhiều trong phát triển web trong vài năm qua. Trước khi kiểm soát phiên bản, làm việc từ xa trong cùng một dự án phát triển sẽ là một cơn ác mộng tuyệt đối. Các nhà phát triển sẽ phải có Gửi các tập tin lớn với nhau (có thể thông qua email), dán trong mã riêng của họ trước khi gửi lại. Không có cách nào thực sự để theo dõi những gì đã được thêm vào và khi nào.

  • 6 Kỹ năng phải có cho các nhà phát triển web trẻ tuổi

Rất may, kiểm soát phiên bản đã đến và phát triển trên tất cả các mặt trận dễ quản lý hơn rất nhiều. Các dự án web đã trở nên dễ dàng hơn nhiều để thực hiện và quản lý, đặc biệt là khi nói đến việc làm việc trong một nhóm phát triển từ xa. Bạn không còn phải lo lắng về phiên bản hiện tại của một trang web bị ghi đè - mỗi thành viên trong nhóm là miễn phí để hoạt động trên bất kỳ tệp nào bất cứ lúc nào, không có sự nhầm lẫn về nơi nào phiên bản mới nhất của tệp đang được lưu trữ - và hàng đầu lưu trữ đám mây Giúp quá trình này.

Trong hướng dẫn này, chúng ta sẽ đang sử dụng GitHub. để quản lý mã của chúng tôi. Có rất nhiều loại công cụ điều khiển phiên bản khác nhau ngoài kia, chẳng hạn như BitBucket và TFVC, nhưng mặc dù tất cả chúng đều khác nhau, các nguyên tắc vẫn giữ nguyên khi nói với mã quản lý.

Để biết thêm nhiều cách để làm cho quá trình xây dựng trang web của bạn dễ dàng hơn, hãy xem hướng dẫn của chúng tôi lên hàng đầu người tạo ra trang web web hosting dịch vụ.

Mô hình chi nhánh

Đầu tiên, điều rất quan trọng là có một mô hình phân nhánh thành công khi làm việc trong bất kỳ nhóm nào để làm cho quá trình phát triển và triển khai diễn ra suôn sẻ. Bạn rất có thể sẽ có nhiều nhà phát triển làm việc trên cùng một dự án. Khi làm việc với một lực lượng lao động từ xa, tôi tin rằng quy trình làm việc tốt nhất bao gồm ba nhánh chính cũng như một bộ tạm thời:

  • Phát triển chi nhánh: Mỗi dòng mã đã được kiểm tra và xác thực bởi khách hàng.
  • Chi nhánh dàn dựng: Điều này sẽ tương ứng với môi trường xác nhận.
  • Phát hành chi nhánh: Điều này chứa phiên bản cuối cùng của trang web của bạn trong sản xuất.

Cũng sẽ có một bộ chi nhánh tính năng. Tuy nhiên, đây sẽ chỉ là tạm thời để xây dựng các tính năng mới.

Nhiều nhà phát triển trên một dự án

Version control: Branching model

Quy trình làm việc tốt nhất bao gồm ba nhánh chính: phát triển, dàn dựng và phát hành

Giả sử bạn chạy một đội với hai nhà phát triển làm việc từ xa. Chúng tôi sẽ gọi họ là Sarah và James: Cả hai đều đang làm việc trên cùng một trang web thương mại điện tử cho một khách hàng. Sarah cần phát triển một tính năng đăng ký chi tiết khách hàng.

Chúng tôi sẽ phá vỡ điều này thành ba câu chuyện người dùng riêng biệt - thêm, chỉnh sửa và xóa - và sau đó thêm ba vé này vào Backlog Sprint.

Chi nhánh tính năng

Version control: Feature branches

Thêm một nhánh tính năng để phát triển tính năng chi tiết của khách hàng và thêm chi nhánh câu chuyện người dùng cho tác vụ Thêm chi tiết

Vì vậy, hãy nói rằng Sarah bắt đầu vào phần Thêm chi tiết khách hàng. Cô ấy sẽ cần tạo chi nhánh tính năng 'Chi tiết về khách hàng' và một câu chuyện người dùng cho nhiệm vụ đầu tiên 'Thêm chi tiết'.

 Git Checkout phát triển & amp; & amp; git kéo xuất xứ / phát triển
Git Checkout -B Tính năng / Chi tiết khách hàng
git checkout -b Thêm chi tiết 

Sarah sẽ tiếp tục làm việc trên chi nhánh tạm thời 'Địa chỉ' địa phương 'tại địa phương và cam kết công việc của cô khi cô phát triển. Bây giờ, hãy nói rằng James muốn giúp Sarah với tính năng chi tiết của khách hàng, vì vậy ông bắt đầu làm việc để xóa các chi tiết.

James sẽ rút phiên bản cuối cùng của nhánh được chia sẻ và tạo một nhánh mới cho câu chuyện người dùng 'Xóa chi tiết'. Sau đó, anh ta có thể bắt đầu tạo bổ sung của riêng mình mà không phải lo lắng về việc ghi đè lên mã của Sarah.

 Git Checkout Tính năng / Chi tiết khách hàng
git kéo nguồn gốc / tính năng / chi tiết khách hàng
Git Checkout -B Xóa-Chi tiết 

Ông cũng sẽ sử dụng chi nhánh tạm thời của mình để mã cục bộ và thực hiện bất kỳ thay đổi nào. Khi Sarah đã hoàn thành tính năng của mình cục bộ, cô ấy đặt vé vào đánh giá mã. Cô ấy sẽ đẩy mã của mình đến nhánh dàn dựng và mở một yêu cầu kéo với môi trường dàn dựng.

// cô ấy đẩy mã của mình đến nhánh dàn dựng
git đẩy nguồn gốc thêm chi tiết
// cô ấy mở một yêu cầu kéo với môi trường dàn dựng
git yêu cầu-kéo thêm chi tiết chi tiết 

Bây giờ chúng tôi sẽ có chi nhánh chi tiết chi tiết về khách hàng và hai nhánh tính năng của người dùng trong các nhánh phát triển 'Thêm chi tiết' và 'Xóa-Chi tiết'.

Sáp nhập

Version control: Adding new branch

Tạo một nhánh mới cho câu chuyện người dùng Xóa-Chi tiết, cho phép bạn tạo bổ sung mà không phải lo lắng về việc ghi đè lên mã của người khác

Khi mã của cô ấy đã được xem xét, cô ấy có thể hợp nhất nhánh của cô ấy dàn dựng. Vé hiện đang nằm trong cột xác nhận, chờ xác thực từ nhà phát triển chính.

 // cô ấy nhận được phiên bản cuối cùng của nhánh dàn dựng
git checkout dàn dựng & amp; & amp; git kéo nguồn gốc / dàn dựng
git merge Thêm chi tiết & amp; & amp; git đẩy nguồn gốc dàn dựng
// cô ấy xây dựng môi trường xác nhận
// và yêu cầu chủ sở hữu sản phẩm xác thực 

Khi công việc của Sarah đã được xác nhận, vé có thể được chuyển vào cột đã thực hiện. Cô ấy có thể hợp nhất công việc của mình vào chi nhánh tính năng và bắt đầu một câu chuyện người dùng khác, như xóa chi tiết khách hàng.

 // cô ấy kéo phiên bản cuối cùng của chi nhánh tính năng
Tính năng Git Checkout / Chi tiết khách hàng
Git Kéo tính năng xuất xứ / Chi tiết khách hàng
Git Merge Add-address & amp; & amp; Git Push Origin Tính năng / Chi tiết khách hàng 

Khi toàn bộ tính năng đã được xác nhận bởi cả nhà phát triển và khách hàng chính, Sarah có thể hợp nhất chi nhánh tính năng phát triển, vì nó đã sẵn sàng để đi.

 // cô ấy nhận được phiên bản cuối cùng của chi nhánh phát triển
Git kiểm tra phát triển & amp; & amp; git kéo xuất xứ / phát triển
Git Merge Tính năng / Khách hàng-Chi tiết & Amp; & amp; git đẩy nguồn gốc phát triển 

Triển khai để sản xuất

Version control: Deployment

Khi đã sẵn sàng triển khai, hãy hòa nhập phát triển và khởi chạy triển khai

Một khi tất cả đã hoàn tất và nó đã sẵn sàng để triển khai vào sản xuất, James Merges phát triển thành phát hành và khởi động triển khai. Tại thời điểm này, ông sẽ biết rằng tất cả các mã là chính xác và khách hàng hài lòng. Ông gắn thẻ cam kết phát hành để có được lịch sử của từng phiên bản.

 Git Checkout phát triển & amp; & amp; git kéo xuất xứ / phát triển
Phát hành & Amp thanh toán Git; & amp; Git rút nguồn gốc / phát hành
git merge phát triển & amp; & amp; Git Tag 2.1.
Git đẩy nguồn gốc phát hành --Tags 

Các quy tắc để theo dõi cho quy trình làm việc này

Quy trình phát triển từ xa này có thể khá khó hiểu khi được hiểu ban đầu nhưng nếu bạn có được nhóm của mình hoạt động theo phương pháp này, thì bạn có một luồng làm việc miễn phí mà không cần phải hoảng sợ về các tệp bị ghi đè hoặc các nhà phát triển của bạn làm việc trên cùng một khu vực.

Có một số điều quan trọng cần nhớ:

  • Điều đầu tiên bạn sẽ cần dạy các nhà phát triển từ xa của mình là quy trình điều khiển phiên bản của bạn và đảm bảo rằng tất cả chúng đều đọc từ cùng một cuốn sách.
  • Nếu bạn đang phát triển một tính năng, hãy cố gắng phá vỡ điều này thành những câu chuyện người dùng nhỏ hơn. Bằng cách này, nó dễ dàng hơn để theo dõi mọi cam kết.
  • Đừng bỏ lỡ bất kỳ bước nào: cùng một quy trình làm việc phải được theo dõi mỗi lần.
  • Bạn sẽ luôn cần hợp nhất chi nhánh của mình phát triển để chuẩn bị phát hành tiếp theo.
  • Bạn nên làm sạch kho lưu trữ dàn mỗi tuần nếu có thể. Bạn nên xóa nhánh dàn dựng, cục bộ và từ xa và tạo lại nó từ chi nhánh phát triển - xem ví dụ dưới đây:
 git co phát triển & amp; & amp; git kéo xuất xứ / phát triển
git nhánh -d dàn bờ & amp; & amp; Git đẩy nguồn gốc - dàn dựng
git co -b dàn dựng & amp; & amp; git kéo nguồn gốc dàn dựng 

Quy trình công việc bổ sung

Với các dự án nhỏ hơn, bạn có thể muốn sử dụng một quy trình làm việc ít phức tạp hơn. Bạn có thể sử dụng Master, chứa phiên bản cập nhật nhất, một nhánh phát triển và sau đó là một tập hợp các nhánh cho từng tính năng bổ sung - cho dù là diễn đàn, biểu mẫu liên hệ, hệ thống thanh toán. Tất cả phụ thuộc vào sở thích cá nhân của bạn.

Quản lý mâu thuẫn hợp nhất

Xử lý các xung đột hợp nhất là đủ khó khăn nếu bạn đang làm việc trong cùng một phòng nhưng họ có thể trở thành một cơn ác mộng hơn nữa nếu bạn đang làm việc trong một văn phòng khác. Điều quan trọng nhất là nhớ rằng bạn luôn có thể hoàn tác việc hợp nhất và trở lại trạng thái trước khi xung đột xảy ra.

Cho dù bạn đang làm tất cả các hợp nhất với tư cách là nhà phát triển chính hoặc nhóm của bạn là những người thực hiện độc lập, bước đầu tiên là hiểu những gì đã xảy ra.

  • Có một trong những nhà phát triển của bạn đã chỉnh sửa cùng một dòng trong cùng một tệp không?
  • Họ đã xóa một tập tin mà bạn đã sửa đổi?
  • Cả hai bạn đã thêm một tập tin có cùng tên?

Git sẽ nói với bạn rằng bạn có con đường chưang thông qua trạng thái git. :

 $ Git Status
# Trên chi nhánh kiểm tra-hệ thống
# Bạn có đường dẫn không lay chuyển.
# (sửa xung đột và chạy "git cam kết")
Số
# Đường dẫn chưa được ghi chép:
# (sử dụng "git add & lt; file & gt; ..." để đánh dấu độ phân giải)
Số
# Cả hai sửa đổi: checkout.html
Số
Không có thay đổi nào được thêm vào cam kết (sử dụng "git add" và / hoặc "git commit -a") 

Bây giờ, nguyên nhân phổ biến nhất của xung đột là khi thay đổi ảnh hưởng đến các tệp giống nhau trên cùng một dòng. Vì vậy, hãy xem nội dung của dòng xung đột. Bạn sẽ nhận thấy rằng Git thực sự tốt trong thực tế là nó sẽ đánh dấu khu vực mâu thuẫn bằng cách kèm theo nó trong & lt; & lt; & lt; & lt; & lt; & lt; & lt; Head & gt; & gt; & gt; & gt; & gt; & gt; & gt; [Khác / Chi nhánh / Tên] . Trong trường hợp này, nó là kiểm tra-hệ thống. .

 & lt; & lt; & lt; & lt; & lt; & lt; & lt; CÁI ĐẦU
Dòng này đã được cam kết trong khi làm việc trong nhánh "của người dùng".
=======.
Ngược lại dòng này, đã cam kết trong khi làm việc trong chi nhánh "kiểm tra-system".
& gt; & gt; & gt; & gt; & gt; & gt; & gt; refs / head / system-system 

Nội dung sau khi điểm đánh dấu đầu tiên bắt nguồn từ chi nhánh công việc hiện tại của bạn. Sau dấu ngoặc góc, git cho chúng ta biết chi nhánh nào các thay đổi đến từ. Một dòng với =======. tách hai thay đổi mâu thuẫn.

Bây giờ bạn có thể chỉ cần mở tệp trong trình soạn thảo, tìm kiếm các điểm đánh dấu xung đột và thực hiện bất kỳ sửa đổi cần thiết nào. Khi bạn hoàn tất, tệp cần để trông chính xác như bạn muốn nó trông hoặc, thay vào đó, bạn có thể nói với git mà bạn chỉ cần đi với một trong các phiên bản đã chỉnh sửa, được gọi là của chúng tôi hoặc là của họ .

 git checkout - đường dẫn / đến / xung đột-file.html 

Ngoài ra còn có nhiều ứng dụng công cụ hợp nhất có thể giúp ích với điều này. Kính vạn hoa là một tuyệt vời cho Mac.

Dự án và quản lý phát hành

Version control: Issues and problems

Đừng nhầm lẫn các vấn đề với các vấn đề: Bạn cũng có thể sử dụng ghi nhãn vấn đề để cải tiến, câu hỏi và lỗi

Nó cũng quan trọng như một nhà phát triển chính để có một công cụ quản lý dự án để quản lý những thứ như nhiệm vụ và lỗi, đặc biệt là khi các nhà phát triển của bạn không dựa trên văn phòng. Có rất nhiều giải pháp ngoài kia, chẳng hạn như Zenhub và Asuna, nhưng tôi tin rằng dự án và hệ thống phát hành tích hợp của Github là tốt nhất.

Bạn có thể làm những việc như thiết lập một dự án mới, tạo bảng hoặc gán các vấn đề. Và đừng chỉ nhầm lẫn các vấn đề với các vấn đề: bạn cũng có thể sử dụng nó để cải tiến, câu hỏi và lỗi, trong số những thứ khác.

Dưới đây là một vài tính năng tốt nhất của nó:

  • Hệ thống gắn thẻ tích hợp: Cho phép bạn tổ chức và ưu tiên quy trình làm việc của mình và dễ dàng tìm kiếm thông qua các dự án để biết thông tin liên quan.
  • Các cột mốc: Hoàn hảo cho các vấn đề liên kết với các tính năng cụ thể hoặc các giai đoạn dự án, chẳng hạn như các lỗi cần được sửa chữa trước khi khởi động beta hoặc nhiệm vụ được hoàn thành vào tháng Mười.
  • Đa bài tập: Các vấn đề có thể được chỉ định cho người dùng với số lượng lớn, tiết kiệm thời gian và khiến bạn hiệu quả hơn.
  • Nhận xét: Các kỹ sư và nhóm quản lý có thể dễ dàng thảo luận về tiến trình và kết quả ở mọi bước của cách sử dụng hệ thống bình luận sẵn có.
  • Danh sách nhiệm vụ: Các vấn đề lớn hơn có thể bị phá vỡ thành các giai đoạn để ngăn chặn việc tạo ra hàng chục sự cố vi mô, giữ tất cả các công việc của bạn ở cùng một nơi.
  • Định dạng Markdown: Khả năng sử dụng định dạng Markdown sẽ chứng minh phổ biến với các nhà phát triển của bạn và nó có thể được sử dụng ở hầu hết các nơi xung quanh Github.
  • Ban dự án: Chúng có thể được sử dụng để các vấn đề về nhà, yêu cầu kéo và ghi chú, phân loại chúng dưới dạng thẻ trong các cột lựa chọn của bạn để bạn có thể nhìn vào toàn bộ các dự án lớn hơn.
  • Bảo mật cao: Bạn có thể tin cậy GitHub để giữ an toàn cho dữ liệu của mình và khó vi phạm hơn hầu hết các hệ thống quản lý dự án khác.

Thiết lập một dự án

Nếu bạn đến GitHub và sau đó đi đến một trong những kho lưu trữ của bạn, bạn sẽ thấy một tab được gọi là dự án. Từ đó bạn có thể chọn dự án mới, thiết lập chi tiết dự án của bạn và tạo một mẫu dự án mới.

Nếu bây giờ bạn chọn tab Các vấn đề dọc theo đỉnh và chọn vấn đề mới, bạn sẽ có thể tạo ra một vấn đề mới. Sau đó, bạn có thể áp dụng nhiều nhãn khác nhau - đây là những thứ như lỗi, nâng cao, câu hỏi và nhân đôi. Bạn cũng có thể sử dụng nâng cao cho một tính năng hoặc yêu cầu mới. Sau đó, bạn có thể chỉ định các thành viên trong nhóm khác nhau cho nhiệm vụ, một cột mốc quan trọng và cả dự án bạn vừa tạo.

Các thành viên được chỉ định sau đó sẽ có một danh sách tất cả các nhiệm vụ của họ và bạn thậm chí có thể sử dụng bảng dự án để theo dõi những gì hiện đang được xây dựng. Nếu bạn nhớ hướng dẫn trước đó của chúng tôi, chúng tôi đã nói về việc di chuyển vé để rút lui và xác nhận. Vì vậy, GitHub hoạt động thực sự cũng như một công cụ tất cả trong một để giám sát một dự án.

Bài viết này ban đầu được xuất bản trong số phát hành 311 của mạng lưới , Tạp chí bán chạy nhất thế giới cho các nhà thiết kế và nhà phát triển web. Mua số 311 ở đây hoặc là Đăng ký tại đây .

Những bài viết liên quan:

  • Làm thế nào để thành công như một nhà phát triển tự do
  • Phát triển các thành phần React có thể tái sử dụng
  • 4 mẹo để phát triển kỹ năng phát triển của bạn

Cách - Các bài báo phổ biến nhất

Adobe XD: Cách sử dụng tính năng Auto-Animate

Cách Sep 17, 2025

[số 8] (Tín dụng hình ảnh: Adobe) Mặc dù đã nhập muộn vào trò chơi nguyên mẫu, Adobe XD là m�..


Làm thế nào để vẽ một con sư tử

Cách Sep 17, 2025

Chào mừng bạn đến hướng dẫn của chúng tôi về cách vẽ một con sư tử. Vua của Jungle, sư tử là một, nếu không phải l�..


Master The Mixer Brush trong Photoshop

Cách Sep 17, 2025

[số 8] Các công cụ vẽ kỹ thuật số đã phát triển nghiêm trọng trong vài năm qua. Các nghệ sĩ có thể ..


Cách tạo một bức tranh sơn dầu kỹ thuật số bằng cách sử dụng Artrage

Cách Sep 17, 2025

[số 8] Vẽ kỹ thuật số bằng cách sử dụng một vẽ máy tính bảng và vẽ phần mềm artrage..


Cách vẽ như một chủ thế kỷ 19

Cách Sep 17, 2025

[số 8] Thế kỷ 19 là một thời gian tuyệt vời cho nghệ thuật. Các nghệ sĩ được tổ chức ở sự quan ..


Vẽ một cuộc sống tĩnh lặng trong acrylics

Cách Sep 17, 2025

Cuộc sống tĩnh lặng không phải là tách trà của mọi người - phải mất một bộ nhất định kỹ thuật vẽ tranh - Nhưng đối với tôi, nó lu..


Cách thực hiện vụ nổ lớn với V-Ray

Cách Sep 17, 2025

[số 8] Tạo và tổng hợp vụ nổ 3D thường là một nhiệm vụ cho hai bộ phận nghệ sĩ hoặc phòng thu kh�..


Cách thêm dữ liệu vào thiết kế phác thảo của bạn

Cách Sep 17, 2025

[số 8] Thiết kế màn hình đã đi một chặng đường dài trong vài năm qua. Heck, chúng ta thậm chí không nó..


Thể loại