Tại nhà tuyển dụng hiện tại của tôi, chúng tôi đang sử dụng một dự án nguồn mở được lưu trữ trên Github như một thành phần của ứng dụng của chúng tôi. Tôi đã làm việc trong dự án này để thêm một số tính năng mà chúng tôi cần và để tích hợp nó với các hệ thống xây dựng của chúng tôi. Người quản lý của tôi và tôi đồng ý rằng chúng tôi muốn gửi càng nhiều công việc của chúng tôi về thành phần này càng hợp lý cho dự án nguồn mở. Câu hỏi của tôi là về quy trình / kỹ thuật tốt nhất là gì để duy trì các cam kết Git của tôi theo cách mà tôi có thể dễ dàng tách ra những điều hợp lý để thêm lại cho dự án nguồn mở - sửa lỗi và các tính năng mới đủ chung - từ những thứ dành riêng cho dự án của chúng tôi, như xây dựng vị trí và hằng số ứng dụng.
Những gì tôi đã làm cho đến nay là duy trì một chi nhánh Git riêng nơi tôi cam kết tất cả các thay đổi của mình, với độ chi tiết phù hợp. Sau đó, tôi sử dụng cherry-pick
để thêm các cam kết có thể mở được vào nhánh chính và gửi chúng lại cho Github.
Có vẻ như tôi nên sử dụng hợp nhất để làm điều này, vì vậy tôi không tiếp tục tạo các cam kết riêng biệt với nội dung giống hệt nhau, nhưng tôi không chắc chắn làm thế nào trong khi loại trừ các cam kết cụ thể của công ty và giữ quy trình làm việc hợp lý.
Ví dụ: tôi cho rằng tôi có thể cam kết những thứ có thể mở được trên những thứ cụ thể của chủ và công ty trên nhánh riêng, sau đó hợp nhất chủ vào nhánh đó khi cần, để lại nhánh chính chỉ vào cam kết trước khi hợp nhất, sao cho tôi có thể cam kết những thứ có thể mở cho nó một lần nữa và sau đó hợp nhất lại. Điều có vẻ khó xử về quy trình công việc này là tôi sẽ cần phải quyết định trước cho tất cả mọi thứ tôi làm thuộc chi nhánh nào, làm việc với những gì có vẻ như hoàn thành, sau đó cam kết và hợp nhất trước khi thử nghiệm. Một trong những điều tôi thực sự thích về Git là việc dễ dàng làm bất cứ điều gì bạn cần để làm cho ứng dụng của bạn hoạt động, sau đó quyết định sau đó về cách thức và nơi để thực hiện các thay đổi của bạn. Theo như tôi có thể nói, nếu bạn hiện đang ở trong một chi nhánh và đã hoàn thành một số công việc, thì '
Là những gì tôi đang làm một quy trình công việc hợp lý cho những đóng góp dài hạn? Bất cứ ai cũng có thể đề xuất một quy trình làm việc khác có thể tốt hơn và tại sao nó tốt hơn?