2013-01-02 6 views
7

Bối cảnh: Tôi có một tình huống similar to this nhưng giải pháp không giải quyết được vấn đề của tôi. Trên GitHub tôi chia hai một ngã ba của một dự án:Có an toàn để xóa một ngã ba của một repo GitHub, khi bản gốc đề cập đến tôi?

Original -> SomeonesFork -> MyFork 

tôi chia hai từ SomeonesFork để dọn dẹp một số thay đổi mà họ đã thực hiện và gửi một yêu cầu kéo trở lại repo gốc. Kể từ đó tôi cũng đã gửi yêu cầu kéo trực tiếp đến bản gốc đã được chấp nhận.

Tuy nhiên, tôi muốn repo của tôi là nhánh rẽ trực tiếp của Bản gốc thay vì có trung gian SomeonesFork. (Làm cho mọi thứ dễ dàng hơn nhiều trên GitHub.) Tôi đặt bản gốc là thượng lưu và được đẩy vào ngã ba của tôi, nhưng GitHub vẫn nói đó là một nhánh của SomeonesFork.

Nếu tôi cố gắng nĩa bản gốc lần nữa, tôi chỉ được gửi đến bản gốc đã tồn tại. Từ nghiên cứu có vẻ như GH không cho phép nhiều nhánh.

Vì vậy, câu hỏi của tôi là: có an toàn để chỉ đơn giản là xóa ngã ba tôi có ngay bây giờ, sau đó lại ngã ba bản gốc? Điều này có gây ra vấn đề trong git hoặc GitHub ở bất cứ đâu không?

+0

Tôi đã xóa các nhánh có các yêu cầu kéo mở đối với chúng mà không bị ảnh hưởng xấu. Yêu cầu kéo được "gửi" đến chủ sở hữu repo dưới dạng tệp vá. Chỉ cần thử gắn '.patch' vào cuối bất kỳ yêu cầu kéo hoặc cam kết URL nào trên github để xem nội dung tệp bản vá ở dạng văn bản thuần túy. – Treffynnon

+0

@Treffynnon không có bất kỳ yêu cầu kéo mở và repo địa phương hiện tại của tôi là chính xác giống như bản gốc tại thời điểm này. – DisgruntledGoat

+1

Giống như tôi nói tôi không có vấn đề gì với việc xóa chúng. Tôi thường xuyên xóa dĩa trong tài khoản của mình, nơi tôi đã thực hiện các bản sửa lỗi cho người khác và họ đã chấp nhận yêu cầu kéo của tôi. Tôi muốn giữ tài khoản của mình sạch sẽ. Không có liên kết thực sự giữa hai repo github anyway vì cả hai đều chứa các bản sao của cùng một mã do đó bản chất phân tán của git. – Treffynnon

Trả lời

12

Git là một hệ thống phân phối và có một bản sao của tất cả mã trong tất cả các mã mà mã đã được cam kết hoặc được đẩy vào. Tài liệu tham khảo giữa các kho là các cờ văn bản tối thiểu đề cập đến một cam kết hợp nhất đến từ đâu. Không có liên kết thực sự nào giữa chúng.

Tôi đã xóa nhiều dĩa trên github trong quá khứ mà không bị ảnh hưởng xấu. Yêu cầu kéo được "gửi" đến chủ sở hữu repo dưới dạng tệp vá. Chỉ cần thử dán .patch vào cuối bất kỳ yêu cầu kéo hoặc cam kết URL nào trên github để xem nội dung tệp bản vá ở dạng văn bản thuần túy. Đây là một trong những người khác yêu cầu đối với dự án tôi duy trì: https://github.com/j4mie/paris/pull/35.patch

Vì vậy, nó tự chứa và bạn xóa ngã ba sẽ không ảnh hưởng đến bản vá này cho chủ sở hữu ngược dòng.

+2

Vì vậy, bạn đang nói rằng chúng tôi có thể xóa ngã ba khi chúng tôi đã gửi yêu cầu kéo, thậm chí ** trước khi ** nó được chấp nhận? – Pacerier