Tôi có nên giữ các kho lưu trữ GitHub của mình mãi mãi không?


314

Vì vậy, tôi đã rẽ nhánh kho lưu trữ của người khác, thực hiện một vài thay đổi, gửi yêu cầu kéo và những thay đổi của tôi đã đưa nó vào sản phẩm. Tuyệt quá!

Nhưng ... tôi nên làm gì với kho lưu trữ của mình? Có một lý do thuyết phục nào để tôi giữ kho lưu trữ của mình không, hay tôi nên tiếp tục và xóa nó? Tôi không có kế hoạch thực hiện bất kỳ đóng góp bổ sung nào, nhưng nếu tôi thay đổi ý định, tôi cho rằng tôi luôn có thể tái phân bổ nó.

Tôi không thực sự quan tâm đến việc giữ một bản sao lưu. Tôi lo lắng hơn về việc phá vỡ liên kết, mất tin nhắn cam kết, v.v.


80
Vui lòng xóa nó hoặc github sẽ hết băm.
Armand

3
Mã trùng lặp là xấu xa. Và điều đó cũng đi qua ranh giới git.
stijn

7
@stijn - Tôi đọc cái này nhiều hơn là "sao lưu" hơn là "trùng lặp". Và tôi không nghĩ rằng tôi đã từng nghe bất cứ ai cho rằng mã sao lưu là ác ...
Beekguk

3
Xóa đi. Rốt cuộc, bạn luôn có thể tải xuống trạng thái cuối cùng (đó là trạng thái bạn sẽ muốn tiếp tục làm việc từ dù sao) từ repo dự án.
Rook

Điều gì xảy ra nếu repo ban đầu bị xóa và không ai còn lại dĩa? Làm thế nào để lấy lại quyền truy cập vào repo / fork trong trường hợp đó?
Kromster

Câu trả lời:


40

Xóa kho lưu trữ rẽ nhánh sẽ xóa lịch sử khỏi Yêu cầu kéo của bạn.

PR với kho lưu trữ không xác định

Xóa một kho lưu trữ rẽ nhánh sẽ xóa bất kỳ thông tin nào liên quan đến kho lưu trữ của bạn. Điều này có thể ảnh hưởng đến bất kỳ tham chiếu nào đến kho lưu trữ của bạn, bao gồm các yêu cầu kéo đã được hợp nhất. (Xem Yêu cầu kéo hiển thị "repo không xác định" sau khi xóa ngã ba )

Nhận xét và cam kết của bạn nên được lưu giữ trên bất kỳ yêu cầu kéo nào được liên kết với kho lưu trữ của bạn, nhưng bạn sẽ tự chịu rủi ro.

Tuy nhiên, xóa các nhánh cũ sau khi hợp nhất là hoàn toàn an toàn.

Trong khi xóa các kho lưu trữ nên tránh, xóa các nhánh không sử dụng là hoàn toàn chấp nhận được. Trên thực tế, GitHub khuyến khích bạn xóa các nhánh cũ .

Thu dọn sau khi yêu cầu kéo

Tại GitHub, chúng tôi thích sử dụng Yêu cầu kéo cả ngày, mỗi ngày. Rắc rối duy nhất là chúng tôi kết thúc với rất nhiều chi nhánh không còn tồn tại sau khi Yêu cầu kéo đã được hợp nhất hoặc đóng cửa. Thỉnh thoảng, một trong số chúng tôi sẽ xóa các nhánh này bằng một tập lệnh, nhưng chúng tôi nghĩ sẽ tốt hơn nếu chăm sóc bước này như một phần của quy trình làm việc thường xuyên của chúng tôi trên GitHub.com.

Bắt đầu từ hôm nay, sau khi Yêu cầu kéo được hợp nhất, bạn sẽ thấy một nút để xóa chi nhánh còn sót lại:

Xóa nút nhánh này

Nếu Yêu cầu kéo được đóng mà không được hợp nhất, nút sẽ trông hơi khác để cảnh báo bạn về việc xóa các cam kết không được trộn:

Xóa chi nhánh với cảnh báo

Tất nhiên, bạn chỉ có thể xóa các nhánh trong kho lưu trữ mà bạn có quyền truy cập.

Tận hưởng kho lưu trữ gọn gàng của bạn!

Ngoài ra, nếu bạn thực sự không muốn giữ chúng xung quanh, bạn có thể lưu trữ một kho lưu trữ để cho biết nó không còn được duy trì tích cực.

Xem thêm


1
Điều gì chính xác xảy ra với các yêu cầu kéo đóng không được trộn khi bạn xóa chi nhánh của chúng (trường hợp thứ hai trong bài viết được trích dẫn)? Các cam kết vẫn sẽ có sẵn trong yêu cầu kéo, chỉ khi không có lịch sử của chúng, hoặc chúng sẽ hoàn toàn biến mất?
lỗi đánh máy


207

Nếu yêu cầu kéo của bạn được chấp nhận và bạn chưa thực hiện bất kỳ thay đổi nào khác mà bạn có thể sử dụng cá nhân, bạn nên xóa nó.

  1. Xóa không làm hại gì cả.
  2. Bạn luôn có thể refork nếu bạn cần
  3. Nó cắt giảm các repos vô dụng trong kết quả tìm kiếm khi mọi người đang tìm kiếm thứ gì đó
  4. Nếu bạn sử dụng GitHub của bạn như một loại sơ yếu lý lịch cho các công việc / hợp đồng tiềm năng, sẽ tốt hơn nếu bạn không có hàng tá repos mà bạn hiện không làm việc. Bạn sẽ xuất hiện hiệu quả hơn.
  5. Nó giúp ích cho sự tỉnh táo của bạn khi bạn không phải trải qua hàng trăm repos vô dụng.
  6. Nó tốt hơn cho GitHub. :)

50
Nhược điểm duy nhất của điều này là yêu cầu kéo sau đó sẽ hiển thị "cam kết đã hợp nhất <commit> thành <repo>từ unknown repositoryngày <date>", điều này hơi kỳ quặc.
PLPeeters

18
@PLPeeters, Thật ra đó là một nhược điểm khá lớn.
Pacerier

4
Tôi đề nghị sử dụng remove-github-forksđể "Xóa tất cả các nhánh không có cam kết không có trong kho chính." Hoạt động như một lá bùa.
Fregante

3
@SteveMoser Tôi có thể sai, nhưng tôi nghĩ bạn vẫn giữ danh sách "Kho lưu trữ bạn đã đóng góp". Tôi đã có một cái tôi đã xóa mọi kết nối giữa và nó vẫn ở đó bằng cách nào đó, nhưng có thể là một con sán: P
Mark Pieszak - Trilon.io

17
Tôi đã mạo hiểm và xóa kho lưu trữ rẽ nhánh và danh sách đóng góp của tôi không bị ảnh hưởng vì vậy tôi có thể nói rằng việc xóa repo rẽ nhánh sẽ không ảnh hưởng đến các khoản tín dụng đóng góp của bạn
Amin Mohamed Aeve

76

Bạn có thể xóa ngã ba của mình ngay khi bạn gửi Yêu cầu kéo , bất kể nó có hợp nhất hay không. GitHub lưu trữ tất cả các PR trong kho lưu trữ ngược dòng , có nghĩa là các thay đổi được đề xuất được theo dõi ngay cả khi ngã ba bị xóa.

Điều đó đơn giản hóa quyết định.

Bạn vẫn có thể muốn giữ ngã ba nếu:

  • Bạn sẽ đóng góp nhiều hơn ngay lập tức (ví dụ: mở rộng PR hiện tại hoặc mở PR mới)

Bạn có thể muốn xóa ngã ba nếu:

  • Bạn muốn có một danh mục đầu tư sạch sẽ của các dự án dưới tên của bạn

7
"Bạn có thể xóa ngã ba của mình ngay khi bạn gửi Yêu cầu kéo của bạn" Đây là thứ tôi đang tìm kiếm!
Unnawut

Tôi cũng vậy, nhưng câu trả lời bắt đầu bằng "Nếu yêu cầu kéo của bạn được chấp nhận ..." Bạn đã thử chưa: D
Huyền thoại

4
Cảnh báo : Khi bạn xóa ngã ba của mình, tên chi nhánh ban đầu sẽ bị xóa khỏi mọi yêu cầu kéo đang chờ xử lý. ( Stevoisiak muốn hợp nhất 1 cam kết Drugoy:mastertừunknown repository )
Stevoisiak

20

Tôi có thể sẽ tar / gzip nó và đưa vào một thư mục lưu trữ, sau đó xóa nó 3 năm sau đó. ;) Thành thật Nếu bạn không có ý định làm việc lại trong vài tháng tới và đã không sử dụng nó trong một thời gian, tôi nghĩ sẽ an toàn khi xóa nó.


9

Chỉ cần thêm vào các câu trả lời được cung cấp - GitHub tự khuyên bạn nên xóa các kho lưu trữ rẽ nhánh ("dọn dẹp") sau khi chúng được hợp nhất.

Điều này có thể được thực hiện ngay trong yêu cầu kéo sau khi hợp nhất - vui lòng xem bài đăng trên blog này .

Hơn nữa, tại thời điểm này, tôi không thấy bất kỳ nhược điểm nào được chú ý trong các bình luận:

  • ngay cả sau khi xóa kho lưu trữ rẽ nhánh, vẫn có thông báo chính xác trong yêu cầu kéo (không có "kho lưu trữ không xác định")
  • kho lưu trữ mà bạn đã đóng góp vẫn được liệt kê trong hoạt động đóng góp của bạn
  • bạn vẫn được liệt kê trong những người đóng góp của kho lưu trữ đó

Tôi không khuyên bạn nên xóa nó trước khi hợp nhất theo đề xuất của @Dennis, vì bạn vẫn có thể phải thực hiện một số sửa đổi cho mã nếu được các tác giả yêu cầu.


2
Tôi vừa xóa một kho lưu trữ rẽ nhánh và yêu cầu kéo bây giờ nói unknown repository. Ồ tốt
Krassi

10
Liên kết của bạn đến một bài viết giải thích cách xóa chi nhánh sau khi hợp nhất PR thành công; tuy nhiên câu hỏi này hỏi về việc xóa một kho lưu trữ . Bạn sẽ chỉ quan sát "kho lưu trữ không xác định" khi bạn xóa ngã ba dự án ( kho lưu trữ ) của riêng bạn .
stakx

2
Câu hỏi là về việc xóa một ngã ba, không phải là một chi nhánh.
Andy
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.