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.
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 và web hosting dịch vụ.
Đầ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:
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.
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.
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'.
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
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
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ớ:
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
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.
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.
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 và & 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.
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ó:
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:
[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�..
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�..
[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ể ..
[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..
[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 ..
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..
[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�..
[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ó..