Khi bạn sao chép một repo, nó sẽ tự động thiết lập một điều khiển từ xa được gọi là origin
đề cập đến repo mà bạn đã sao chép. Điều này bây giờ trỏ đến dự án Rails ngược dòng, nhưng những gì bạn cần là tạo ra ngã ba của riêng bạn mà bạn có thể đẩy tới, và sau đó thiết lập một điều khiển từ xa trỏ đến đó để bạn có thể đẩy nó.
Bước đầu tiên là nhấp vào nút "Fork" trên trang dự án GitHub thượng nguồn (hình ảnh từ GitHub instructions on forking):

Một khi bạn đã làm điều đó, tìm và sao chép URL cho rằng repo. Đảm bảo bạn sử dụng URL SSH, có quyền truy cập đọc và ghi. Nó phải giống như [email protected]:nadal/rails.git
, giả sử tên người dùng của bạn là nadal
.
Bây giờ bạn có thể tạo điều khiển từ xa, cho phép Git theo dõi một kho lưu trữ từ xa, kéo từ kho lưu trữ đó hoặc chuyển sang tùy thuộc vào quyền truy cập bạn có. Bạn có thể chọn thay thế origin
bằng một trong số đó bạn sẽ đẩy tới (số người đã thiết lập), hoặc để origin
trỏ tới thượng nguồn và thay vào đó tạo một điều khiển từ xa mới. Tôi sẽ chỉ cho bạn cách thực hiện thiết lập đầu tiên; thứ hai nên dễ tìm ra.
Để thay đổi origin
để trỏ đến ngã ba của bạn trên GitHub, có thể bạn sẽ muốn giữ lại các chi nhánh thượng nguồn xung quanh đâu đó, vì vậy đổi tên nó để upstream
:
git remote rename origin upstream
Bây giờ, tạo một trỏ từ xa mới đến ngã ba của bạn:
git remote add -f origin [email protected]:nadal/rails.git
Và bây giờ bạn sẽ có thể đẩy đến bàn ăn mới của bạn:
git push origin master
Khi bạn hài lòng với những thay đổi bạn đã đẩy lên GitHub và muốn một người nào đó từ nhóm Rails xem xét, bạn có hai lựa chọn. Một là send a pull request bằng GitHub; xem tài liệu ở đó để biết cách thực hiện điều đó. Tuy nhiên, nếu bạn chỉ có một hoặc một vài bản vá nhỏ, nhóm Rails sẽ thích bạn create a Lighthouse ticket và đính kèm bản vá cho bạn; xem hướng dẫn trên contributing to Rails để biết thêm thông tin.
chỉnh sửa Đây là sơ đồ cho biết điều gì đang xảy ra. Những gì bạn đã làm chỉ đơn giản là sao chép repo đường ray ngược dòng; vì vậy bây giờ bạn có repo của riêng bạn trên máy tính của riêng mình, trong đó đề cập đến git://github.com/rails/rails.git
như origin
:
Github: git://github.com/rails/rails.git
^
|
Remotes: origin
|
Your machine: rails/
Dưới đây là những gì bạn nhận được nếu bạn chia hai và sau đó sao chép ngã ba của bạn:
Github: git://github.com/rails/rails.git <-- [email protected]:nadal/rails.git
^
|
Remotes: origin
|
Your machine: rails/
Nếu bạn làm theo tôi hướng dẫn, dưới đây là những gì bạn sẽ nhận được:
Github: git://github.com/rails/rails.git <-- [email protected]:nadal/rails.git
^ ^
| |
Remotes: upstream origin
| |
Your machine: \-------------------------------rails/
Cũng giống như phiên bản bạn nhận được bằng cách giả mạo, ngoại trừ việc bạn cũng có phiên bản upstream
từ xa để bạn có thể theo dõi các thay đổi chính thức và hợp nhất chúng vào mã của bạn (nếu bạn đã tạo phiên bản chia đôi, có thể bạn sẽ muốn thêm cả từ xa upstream
).
Tôi muốn đăng ký và xem câu trả lời của tôi có phù hợp với bạn hay không hoặc bạn vẫn cần thêm thông tin. Nếu bạn cần giải thích thêm hoặc làm rõ, hãy cho tôi biết và tôi có thể cố gắng giúp bạn. Nếu không, bạn có thể muốn chấp nhận câu trả lời để cho biết câu hỏi đã được trả lời đầy đủ. –