Tại sao mọi người chia sẻ kho lưu trữ trên GitHub? [đóng cửa]


110

Tôi nhận thấy rằng rất nhiều tài khoản GitHub chỉ có kho lưu trữ được chia từ các tài khoản khác. Ngoài ra, những người làm điều này thường không có bất kỳ đóng góp nào cho các kho lưu trữ rẽ nhánh.

Tôi đã nghe nói về những người thu thập tem và vỏ sò, nhưng tại sao mọi người lại muốn thu thập kho? Cá nhân tôi sẽ chỉ rẽ nhánh một kho lưu trữ nếu tôi muốn thực hiện một số thay đổi cho nó.


84
họ muốn đảm bảo rằng họ có một bản sao lưu ổn định nếu chủ sở hữu của dự án xóa repos của anh ta và biến mất
ratchet freak

9
Đơn giản là vì đó là cách các yêu cầu kéo hoạt động trong GitHub (và vì mọi người hơi vui vẻ và đôi khi quên nó, hoặc từ bỏ ý tưởng dự án của họ và quên thoát khỏi ngã ba)
haylem

2
chỉ là một nhận xét, vì tôi hiểu rằng họ sử dụng như một "bản sao lưu" của mã, nhưng họ quên (hoặc không biết) rằng các bản cập nhật kho lưu trữ không ảnh hưởng đến "nhánh", khi họ nên thực hiện rẽ nhánh (để sao lưu) và "Star" kho lưu trữ để biết khi nào thực hiện "re-fork", nói cách khác, họ nghĩ rằng "fork" gần giống như "Star" và không biết duy trì một mã lỗi thời.
Guilherme Nascimento

1
Bởi vì họ đã nghe nói rằng có một Github là đủ để được thuê tại một công ty khởi nghiệp nóng.
Gaius

1
Dưới đây là bài viết về tác hại của việc vô cớ cấm zbowling.github.io/blog/2011/11/25/github
gavenkoa

Câu trả lời:


69

Trong công việc của chúng tôi, chúng tôi có xu hướng tìm kiếm các lý do kỹ thuật, nhưng theo tôi lý do chính không phải là kỹ thuật. Nếu bạn xem Trợ giúp GitHub hoặc các hướng dẫn GitHub khác, việc yêu cầu repo là một trong những bước chính cho cách bạn "làm" GitHub.

Khi mọi người đang học và đánh giá GitHub, cứ gần như mọi hướng dẫn ngoài kia sẽ bảo họ rẽ nhánh repo như một phần của quá trình học tập đó. Vì mục đích chính của GitHub là đóng góp, rất nhiều người làm việc thông qua các hướng dẫn tiêu chuẩn không nhận ra nếu bạn chỉ muốn một bản sao chỉ đọc mà bạn không phải thực hiện một ngã ba trước.


42
Dọc theo những lý do phi kỹ thuật: Tôi đã nhấp vào nút 'ngã ba' nhiều lần với hy vọng thấy ai đã rẽ nhánh repo, chỉ để thấy rằng tôi đã rẽ nhánh. Ôi trời! Không chắc chắn nếu người khác đã làm như vậy.
gdw2

53
@gdw: Khiến bạn phải thốt lên "Ôi, ngã ba!"
Ben Jackson

1
Tôi nhớ khi tôi lần đầu tiên biết về git và Github, tôi đã làm một số forking chỉ vì hướng dẫn và hướng dẫn dường như đề xuất nó như là các cách để có được bản sao của riêng bạn của mã trên máy tính của bạn.
rmac

Chúng tôi sử dụng GitLab tại nơi làm việc, vì vậy tôi biết rõ sự khác biệt giữa bản sao và bản ngã ba. Tôi cũng có ý kiến ​​rằng bạn không cần rẽ nhánh nếu bạn không muốn đưa ra yêu cầu kéo (hợp nhất cho GitLab).
cst1992

3
@Jlie, nó tốt để làm, nhưng thường không cần thiết trong trường hợp đó. Một công ty có thể làm điều đó cho mã mà họ phụ thuộc để đảm bảo rằng bản gốc không đột nhiên biến mất. Nếu tất cả những gì bạn muốn làm là xây dựng từ nguồn, một bản sao đơn giản hơn.
Karl Bielefeldt

101

Như bạn đã đề cập trong câu hỏi của mình, mọi người chia sẻ kho lưu trữ khi họ muốn thực hiện thay đổi mã, bởi vì bạn không có quyền truy cập ghi vào kho lưu trữ ban đầu (trừ khi bạn được chủ sở hữu của kho lưu trữ thêm vào.

Trong kho lưu trữ rẽ nhánh, họ có quyền truy cập ghi và có thể đẩy các thay đổi. Họ thậm chí có thể đóng góp trở lại kho lưu trữ ban đầu bằng cách sử dụng các yêu cầu kéo .

Tôi nghĩ rằng có nhiều lý do tại sao mọi người chia sẻ kho lưu trữ nhưng không thay đổi chúng:

  • họ có thể rẽ nhánh một kho lưu trữ trông rất tuyệt, chỉ cần rẽ nhánh nó (vì nó dễ dàng (chỉ một cú nhấp chuột)) và muốn thực hiện thay đổi sau đó (và sau đó có lẽ quên nó / không có thời gian để làm như vậy)
  • họ rẽ nhánh một kho lưu trữ để thực hiện thay đổi và sau đó phát hiện ra rằng thay đổi là không cần thiết và quên xóa kho lưu trữ của riêng mình
  • họ có thể rẽ nhánh một kho lưu trữ vì một trong các dự án phụ thuộc vào một kho lưu trữ khác (có thể thông qua các mô hình con) và họ muốn toàn quyền kiểm soát kho lưu trữ được sử dụng làm phụ thuộc (chủ sở hữu của kho lưu trữ ban đầu có thể quyết định chuyển từ github sang mã google, v.v. )
  • họ có thể chỉ đơn giản là quên đẩy các cam kết

5
Khi bạn không sử dụng Github, bạn đang đi theo con đường trường học cũ và tạo một bản sao nhân bản của dự án để bạn có thể sửa đổi nó. Ngã ba trên github cho phép bạn truy cập vào các yêu cầu kéo được nhiều dự án ưa thích. Nếu bạn đang ở một dự án khác, cuối cùng bạn sẽ tạo ra các bản vá và gửi chúng vào để được xem xét.
Rudolf Olah

Đó là một quy trình một bước đơn giản để thiết lập một nhánh theo dõi từ xa. Bất cứ ai đã cố gắng đóng góp cho một kho lưu trữ git bên ngoài GitHub đều biết nó có thể tẻ nhạt như thế nào. Ngoài ra, nếu tác giả ban đầu đi AFK, bạn có thể theo dõi biểu đồ phát triển để tìm các nhánh vẫn đang được phát triển tích cực. Hy vọng, nó sẽ giữ cho GitHub không bị thoái hóa thành một vùng đất hoang của các dự án chết giống như cách SourceForge đã làm.
Evan Plaice

Điều gì nếu bạn rẽ nhánh một dự án nhưng không có thay đổi. Điều này sẽ xem xét bất hợp pháp?
Jesse

@Jlie Tất cả các kho lưu trữ công khai trên GitHub nên có Giấy phép nguồn mở (đó là Điều khoản dịch vụ của họ) và do đó không có vấn đề gì cả. Đặc biệt là khi bạn không thực hiện thay đổi.
MarcDefiant

28

Một lý do có thể: họ có mã chạy phụ thuộc vào các dự án đó và quá trình xây dựng của họ liên quan đến việc kéo các phụ thuộc từ github. Có ngã ba bảo vệ họ chống lại sự thay đổi. Đối với các dự án không gắn thẻ phiên bản, đây là cách dễ nhất để đạt được điều đó.


3
Họ có thể sửa để cam kết số lượng hoặc phiên bản đã xuất bản của phiên bản phát hành của một ứng dụng.
Roman M. Koss

26

Toàn bộ quan điểm của Github là "mã hóa xã hội" .

Cá nhân, tôi ngã ba kho khi:

  • Tôi muốn tạo ra một sự thay đổi.
  • Tôi nghĩ rằng dự án này rất thú vị và có thể muốn sử dụng nó trong tương lai, nhưng không có cách nào dễ dàng hơn để lưu nó cho lần sau trên thiết bị tôi hiện đang sử dụng.
  • Tôi muốn sử dụng một số hoặc tất cả mã trong kho lưu trữ đó làm điểm khởi đầu cho dự án của riêng tôi.

Bây giờ tôi đã nghe nói về những người thu thập tem và vỏ sò, nhưng tại sao mọi người lại muốn thu thập kho?

Tại sao không?

Không có gì (mà tôi có thể nghĩ ra) có thể đi sai từ việc từ bỏ các kho lưu trữ cho niềm vui cá nhân. Thành thật mà nói, tôi giữ một thư mục các dự án thú vị mà tôi thấy trên Github và những nơi khác chỉ đơn giản là cho mục đích truyền cảm hứng, và một phần vì tôi là một người đam mê. Tôi hiểu rằng tôi không phải rẽ nhánh dự án để đọc mã, nhưng tôi thực sự có thể muốn chỉnh sửa nó trong tương lai.

Bây giờ bắt đầu rèn.


9
+1 cho "Tại sao không?" phần.
Llepwryd

Thêm 2 xu của tôi vào "Tại sao không?" phần: Thói quen của tôi là luôn luôn thực hiện "git đẩy" sau khi tôi hoàn thành công việc trên một tính năng; nó mang lại cảm giác thỏa đáng cho QED đối với tôi (mà tôi không nhận được khi viết tên từ xa và tên chi nhánh). Vì vậy, bất cứ khi nào có một cơ hội nhỏ nhất mà tôi có thể muốn thay đổi repo, tôi muốn thay đổi nó, thay vì sau đó phải thay đổi repo "gốc" mặc định.
yoniLavi

1
Tôi nghĩ rằng "Tại sao không?" phần mô tả cách thức "Sao" hoạt động ...
TWiStErRob

2
Tại sao không chỉ cho nó một ngôi sao để lưu nó để xem sau?
anh chàng

2
Khi một dự án thú vị tôi sẽ sử dụng một ngôi sao. Tôi đồng ý với phần còn lại.
Roman M. Koss

1

Tôi chọn rất nhiều repos mà tôi có thể muốn sử dụng mã hoặc nếu đó là một dự án mà tôi quan tâm. Khi tôi muốn quay lại và xem lại mã sau, sẽ dễ dàng tìm thấy nếu nó được liệt kê dưới đây kho lưu trữ. Tôi không phải google, hay loay hoay cố gắng nhớ chính xác cái tên đó là gì hoặc nghĩ "tôi đã thấy repo đó về foo ở đâu nữa?" Nếu đó là một trong những repos của tôi thì việc nhắc nhở những điều này sẽ dễ dàng hơn.


Lưu ý, bạn có thể nhận được điều tương tự bằng cách gắn dấu sao cho repo - không cần rẽ nhánh cho điều đó.
valiano
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.