Sử dụng git chính xác trong một nhóm nhỏ


14

Điều gì sẽ là cách dễ nhất để sử dụng git chính xác trong một nhóm nhỏ gồm khoảng 5 nhà phát triển, với một máy chủ chạy ứng dụng trực tiếp?


5
Tôi sẽ hỏi bằng cách sử dụng git trong trường hợp này. Không có lợi thế cho việc sử dụng kiểm soát nguồn phi tập trung, khi bạn có tất cả mọi người trong một phòng với một máy chủ chuyên dụng. Và vẫn còn chi phí kéo / đẩy trên các cam kết.
Euphoric

10
@Euphoric phụ thuộc vào công cụ và quy trình làm việc của bạn.

3
@ONOZ vui lòng mô tả cách làm việc hiện tại của bạn chi tiết hơn.

22
@Euphoric - Thật là một thái độ cực kỳ hẹp hòi. Để dễ dàng phân nhánh và hợp nhất một mình githoặc hgđánh bại hầu hết các VCS tập trung. Tôi có thể hiểu mọi người cảm thấy khó chịu khi mọi người liên tục nói về việc DVCS tuyệt vời như thế nào, nhưng vùi đầu vào cát và từ chối thừa nhận rằng bạn có thể phát triển các quy trình công việc khác nhau và có thể hiệu quả hơn với DVCS hơn là không có gì tệ.
Đánh dấu gian hàng

8
@Euphoric, sử dụng Git không có nghĩa là kiểm soát nguồn của bạn là "phi tập trung". Tôi làm việc trong một nhóm nhỏ và chúng tôi sử dụng Git và chúng tôi vẫn có một kho lưu trữ trung tâm. Đó là những gì bạn đẩy đến. Sử dụng DVCS thường không có nghĩa là mọi người đang kéo từ mọi người khác mà không có điểm trung tâm.
Kyralessa

Câu trả lời:


11

Tôi đề nghị bạn tạo một số chi nhánh:

  • sản xuất
  • bậc thầy
  • địa phương

Chi nhánh sản xuất là chi nhánh "sống". Là ứng dụng đang sử dụng ngay bây giờ.

Khi cần cập nhật, nhà phát triển có thể kéo nhánh chính vào nhánh cục bộ. Hơn, có thể bắt đầu mã. Cuối cùng, chỉ cần kéo và đẩy từ chi nhánh phát triển địa phương thành chủ. Người quản lý dự án có thể xem chi nhánh chính. Kiểm tra nó Và khi sẵn sàng, có thể hợp nhất sản xuất với chủ. Và bây giờ bạn sẽ có phần mềm mới.


Nếu bạn đang ở trong một tình huống tư vấn hoặc doanh nghiệp, bạn cũng có thể muốn có một chi nhánh cho UAT.
John MacIntyre

Đồng ý, tôi đang sử dụng luồng công việc này.
Cheung

Bạn có thể giải thích tại sao sự khác biệt giữa một chi nhánh địa phương và chủ? Tôi có thể thấy lý do tại sao bạn muốn có một phiên bản sản xuất hoạt động, nhưng khi bạn kéo / đẩy thay đổi, nó sẽ tự động hợp nhất ngay cả khi không có chi nhánh địa phương phải không?
Luc

1
Do nhánh cục bộ có thể được đặt tên là tên tính năng XXX, do đó, bạn có nhánh chính là hợp nhất của tất cả các nhánh tính năng bạn muốn trong sản xuất. Có: bởi vì một số tính năng có thể không được bao gồm.
cảm biến

7

Bắt đầu đơn giản và xây dựng một quy trình công việc phức tạp hơn và khi bạn cần.

Dù bạn làm gì, đừng để mô hình phân nhánh Git thành công là điều đầu tiên mọi người nhìn thấy, nó sẽ chỉ gây nhầm lẫn và áp đảo họ. Nhìn vào điều này sau khi bạn có nhiều kinh nghiệm.

Tôi sẽ đề nghị bạn bắt đầu với một gitkho lưu trữ trung tâm và có tất cả mọi người, bao gồm cả bản dựng sản xuất và thử nghiệm của bạn từ đó.

Trong kho git của bạn, tạo một productionnhánh và một testnhánh.

Các nhà phát triển nên làm việc trong các nhánh tính năng cục bộ hoặc từ xa cho đến khi chúng được hoàn thành và sáp nhập vào master. Từ đây, chúng có thể được sáp nhập vào testnhánh để triển khai vào môi trường thử nghiệm và khi chúng vượt qua các thử nghiệm, chúng có thể được sáp nhập vào productionnhánh.

Bằng cách đó, bạn luôn có thể thấy những gì mới và chưa được kiểm tra, những gì đã được thử nghiệm nhưng chưa được triển khai vào sản xuất và những gì thực sự trong sản xuất.


Thú vị ý kiến, tôi sẽ xem xét các mô hình git nhánh là một đối phó breaker cho git, mặt khác nó có thể không được như vậy rõ ràng để người dùng không có git.
wirrbel

@wirrbel Không có những thứ như các mô hình git nhánh, bạn có thể thực hiện bất cứ điều gì nhánh mô hình mà bạn mong muốn sử dụng gitđể phù hợp với công việc của bạn. Mô hình tôi đề xuất ở đây đơn giản và có khả năng tốt hơn cho gitngười dùng thiếu kinh nghiệm so với Mô hình phân nhánh Git thành công nhưng AsGbm có thể tốt hơn cho gitngười dùng có kinh nghiệm hơn , nhưng không phù hợp với một số nhóm (những người muốn duy trì nhiều bản phát hành chi nhánh chẳng hạn). Như tôi đã nói, vấn đề với AsGbm là nó có thể trông quá phức tạp.
Đánh dấu gian hàng

Tôi thấy điểm của bạn. Chỉ với tôi, tôi bắt đầu với AsGbm (hay đúng hơn là thích nghi với nhu cầu của tôi). Thật hoàn hảo vì tôi có thể thấy git có thể được sử dụng khác với svn
wirrbel

7

Chúng tôi đã có một tình huống tương tự - ngoại trừ chúng tôi có hàng tá ứng dụng web không phải là một. Chúng tôi đã sử dụng thành công Mô hình phân nhánh Git thành công trong năm ngoái hoặc lâu hơn mà không có khiếu nại đáng kể.


Tôi cũng đã sử dụng điều này để tạo ra các mô hình phân nhánh trong vài năm qua. Đó là một mô hình tuyệt vời.
John MacIntyre

Đồng ý với liên kết
Rahul Gautam

0

Bạn phải có một kho lưu trữ chính trên máy chủ tích hợp và mỗi nhà phát triển phải sao chép nó. Sau khi nó chỉ cần kéo và đẩy. Phát triển các tính năng lớn mới trong chi nhánh riêng biệt. Không có khoa học tên lửa ở đây. Trên máy chủ trực tiếp - bạn cũng phải sao chép kho lưu trữ chính. Và đó là một thực hành tốt để có chi nhánh như "sống" cho nó.


2
git archive là một tùy chọn khác để triển khai trên máy chủ trực tiếp với giả định rằng bạn không thực sự muốn chỉnh sửa trực tiếp nội dung trên máy chủ trực tiếp
jk.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.