2013-01-23 30 views
5

Chúng tôi sẽ cố gắng thực hiện luồng công việc trong github trong đó mỗi vé là nhánh của tổng thể.
Sau khi vé hoàn tất, tác phẩm được hợp nhất thành dàn dựng, nơi các bài kiểm tra hồi quy và tích hợp được thực hiện trước khi nó được hợp nhất thành bản chính.Tự động xóa chi nhánh git sau khi hợp nhất thành master

Trưởng nhóm đưa ra vấn đề của các chi nhánh vé cũ sau khi hợp nhất sẽ bắt đầu xây dựng.

Tôi đã tìm thấy this tập lệnh và muốn biết liệu điều này có hiệu quả trong môi trường của chúng tôi hay không. Chúng tôi chỉ muốn xóa các nhánh đã được hợp nhất thành chính.

+0

GitHub có [nút xóa chi nhánh] (https://github.com/blog/1335-tidying-up-after-pull-requests) đã được hợp nhất vào chi nhánh mà họ đã gửi, nhưng tôi đoán không giúp bạn nhiều. –

+0

Vâng, chúng tôi muốn có quá trình đó tự động. Liên kết cho thấy cách làm điều đó với shell, nhưng chúng ta không có quyền truy cập vào github shell, vì vậy không có cách nào để chronjob nó, afaik –

+0

Vì vậy, bạn đang thực sự tìm kiếm [git hooks] (http://git-scm.com/book/vi/Customizing-Git-Git-Hooks), cụ thể hơn cho hook 'post-merge'. Nếu đó là trường hợp thì nó sẽ không hoạt động tôi sợ. –

Trả lời

4

Không có kịch bản sẵn sàng để sử dụng cho trường hợp sử dụng của bạn theo như tôi biết. Bạn sẽ phải tạo ra các công cụ của riêng bạn cho điều đó.

Có một công cụ được gọi là git-flow bởi Vincent Driessen được xây dựng để hỗ trợ các nhà phát triển theo quy trình làm việc git của mình được mô tả trong "A successful Git branching model".

Nó không phải là dễ dàng như chỉ xóa các chi nhánh sau khi hợp nhất bởi vì bạn không bao giờ biết nếu bạn sẽ chạy vào một cuộc xung đột hợp nhất hay không.

+0

Liên kết tôi đã thêm sẵn sàng sử dụng tập lệnh, nhưng tôi không nghĩ mình có thể sử dụng nó với github. –

+0

GitHub không liên quan gì đến nó. Nó chỉ là một dịch vụ lưu trữ kho của bạn (và nhiều hơn một chút). –

+1

lưu lượng trung tâm (http://datasift.github.com/gitflow/) được điều chỉnh từ gitflow và hoạt động tốt. –

2

Thêm một trong các tùy chọn sau vào tệp .gitconfig của bạn để có bí danh dễ dàng hợp nhất và xóa chi nhánh bằng lệnh 1.

Bí danh là một hàm:

[alias] 
    ff = "!f() { git merge $1; git branch -d $1; }; f" 

Bí danh là một lệnh shell mới:

[alias] 
    ff = !sh -c 'git merge $1 && git branch -d $1' -- 

Cả hai đều làm điều tương tự chính xác, chỉ cần 2 phương pháp khác nhau để làm việc đó.

Các vấn đề liên quan