sách gpt4 ai đã đi

Các nhánh phát hành sản xuất/phát triển Git

In lại Tác giả: Space Dog Thời gian cập nhật: 2023-10-29 14:15:22 34 4
mua khóa gpt4 Nike

Xin chào, tôi nghĩ đây là một câu hỏi khá đơn giản nhưng tôi không quen với việc quản lý git.

Tôi sử dụng rất phổ biến http://nvie.com/posts/a-successful-git-branching-model/Cung cấp một mô hình chung cho các nhánh git của tôi. Tuy nhiên, liên quan đến giải phóng Sáp nhập nhánh vào bậc thầySau đó hợp nhất lại phát triển Branch, tôi hơi bối rối.

Tôi cũng thích Thực hành tốt nhất của Git cho các tệp cấu hình, v.v.Nhưng tôi cảm thấy đây không phải là cách tiếp cận tốt nhất.

Tôi đang nghĩ đến việc thực hiện những điều sau:

  1. Tạo nhánh release-1.0 mới từ nhánh phát triển
  2. Thực hiện thay đổi (thiết lập môi trường sản xuất)Ý TƯỞNG TỆ HẠI)
  3. Cam kết các thay đổi cho nhánh release-1.0
  4. Hợp nhất các thay đổi từ bản phát hành 1.0 vào nhánh chính
  5. Đánh dấu phiên bản mới là 1.0
  6. (Đây là lúc mọi thứ trở nên mơ hồ đối với tôi)
  7. Thực hiện thay đổi (đặt môi trường thành PHÁT TRIỂN)Ý TƯỞNG TỆ HẠI)
  8. Cam kết các thay đổi cho nhánh release-1.0
  9. Sáp nhập nhánh release-1.0 trở lại nhánh phát triển

Tôi sử dụng tập lệnh shell để tự động hóa các thay đổi và có thể là toàn bộ quá trình phát triển -> phát hành -> tạo bản gốc. Tôi sẽ gọi tập lệnh này là "#: update.sh production 1.0"

nếu !([ "$1" == "sản xuất" ] || [ "$1" == "phát triển" ]); thì
echo "Phải chỉ rõ sản xuất hoặc phát triển là đối số thứ hai"
ra;


nếu [ ! -n "$2" ]; thì
echo "Phải chỉ định phiên bản (ví dụ: 1.2, 1.2.1)."
ra;


nếu ([ "$1" == "sản xuất" ]); thì
var_env="sản xuất";
git checkout -b release-$2 phát triển


nếu ([ "$1" == "phát triển" ]); thì
var_env="phát triển";


echo "Bắt đầu thay đổi thành $1..."

SRC="define('MÔI TRƯỜNG', '.*');"
DST="define('MÔI TRƯỜNG', '${var_env}');"
sed -i -e "s/[\s]*$SRC/$DST/g" index.php
echo "Đã cập nhật hằng số môi trường."

echo "Bạn có muốn tiếp tục và cam kết những thay đổi này không? (y|n)"

đọc CHÚC MỪNG

nếu([ "$WISH" == "y" ]); thì
git kiểm tra chủ
git merge --no-ff phát hành-$2
git tag -a $2
khác
echo "Được rồi. Tôi bỏ cuộc."

Điều này có hợp lý không?

Về cơ bản, chúng tôi thực hiện ít nhất hai lần cam kết cho mỗi phiên bản chính. Một là thiết lập các biến sản xuất, hợp nhất các biến đó vào nhánh chính, sau đó là một cam kết khác để thay đổi các biến trở lại cài đặt phát triển của chúng và hợp nhất lại vào nhánh phát triển.

1 Câu trả lời

Tuy nhiên, tôi hơi bối rối ở phần liên quan đến việc hợp nhất nhánh phát hành vào nhánh master, rồi sau đó lại vào nhánh phát triển.

Có lẽ bạn làm vậy vì bản phát hành của bạn chưa hoàn hảo. Bạn sẽ gửi bất kỳ bản sửa lỗi nào liên quan cụ thể đến bản phát hành này tới giải phóng Chi nhánh, phát triển tính năng mới vào phát triển Chi nhánh. Sau đó giải phóng Sáp nhập nhánh vào phát triển , đưa những thay đổi này vào luồng phát triển chính.

Đề xuất của bạn về việc thực hiện lần cam kết thứ hai chỉ để thay đổi cài đặt cấu hình rồi hoàn nguyên lại chỉ gây ra rắc rối và có lẽ không đáng. Một câu hỏi tương tự về cách xử lý các tệp cấu hình dành riêng cho máy đã được đặt ra ở đây:

Có lẽ còn nhiều câu hỏi tương tự. Những người ở trên có vẻ đồng thuận rằng việc đưa phiên bản chính xác của tệp cấu hình vào kho lưu trữ là một ý tưởng tồi. Ngoài ra, một số bước tạo mẫu/thay thế/tệp gnome trong tập lệnh triển khai của bạn là giải pháp phù hợp. Nó loại bỏ yếu tố con người và thực tế đảm bảo rằng bước này sẽ được thực hiện mỗi khi bạn triển khai đến một môi trường cụ thể.

Câu trả lời của VonCCó một điểm hay về vấn đề này, đặc biệt là việc tách biệt quá trình duy trì lịch sử khỏi quá trình triển khai phần mềm.

Liên quan đến các nhánh phát hành sản xuất/phát triển Git, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12810816/

34 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com