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à điều khiển origin
đề cập đến repo mà bạn đã sao chép . Điều này hiện đang trỏ đến dự án Rails ngược dòng, nhưng những gì bạn cần là tạo nhánh rẽ của riêng bạn mà bạn có thể đẩy đến, sau đó thiết lập một điều khiển từ xa trỏ đến đó để bạn có thể đẩy tới đó.
Bước đầu tiên là nhấp vào nút "Fork" trên trang dự án GitHub ngược dòng (hình ảnh từ hướng dẫn GitHub về fork ):
Khi bạn đã hoàn thành việc đó, hãy tìm và sao chép URL cho repo đó. Đảm bảo bạn sử dụng URL SSH, có quyền đọc và ghi. Nó phải là một cái gì đó giống như git@github.com:nadal/rails.git
, giả sử tên người dùng của bạn nadal
.
Giờ đây, bạn có thể tạo điều khiển từ xa, điều này cho phép Git theo dõi kho lưu trữ từ xa, kéo hoặc đẩy đến kho lưu trữ đó 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 cái mà bạn sẽ đẩy đến (đó là số người đã thiết lập nó) hoặc để lại origin
trỏ đến ngược dòng và thay vào đó tạo một điều khiển từ xa mới. Tôi sẽ chỉ 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 nhánh rẽ của bạn trên GitHub, có thể bạn sẽ muốn giữ nhánh ngược dòng ở đâu đó, vì vậy hãy đổi tên nó thành upstream
:
git remote rename origin upstream
Bây giờ hãy tạo một điều khiển từ xa mới trỏ đến ngã ba của bạn:
git remote add -f origin git@github.com:nadal/rails.git
Và bây giờ bạn sẽ có thể đẩy sang ngã ba mới của mình:
git push origin master
Khi bạn hài lòng với những thay đổi mà bạn đã đưa lên GitHub và muốn ai đó từ nhóm Rails xem xét nó, bạn có hai lựa chọn. Một là gửi một yêu cầu kéo 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 muốn bạn tạo một vé Lighthouse và đính kèm bản vá cho bạn; xem hướng dẫn về cách đóng góp vào Rails để biết thêm thông tin.
chỉnh sửa Đây là một sơ đồ để chỉ ra những 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 của riêng bạn, được gọi git://github.com/rails/rails.git
là origin
:
Github: git: //github.com/rails/rails.git
^
|
Điều khiển từ xa: nguồn gốc
|
Máy của bạn: rails /
Đây là những gì bạn nhận được nếu bạn fork và sau đó sao chép fork của mình:
Github: git: //github.com/rails/rails.git <- git@github.com: nadal / rails.git
^
|
Điều khiển từ xa: nguồn gốc
|
Máy của bạn: rails /
Nếu bạn làm theo hướng dẫn của tôi, đây là những gì bạn sẽ nhận được:
Github: git: //github.com/rails/rails.git <- git@github.com: nadal / rails.git
^ ^
| |
Điều khiển từ xa: nguồn gốc ngược dòng
| |
Máy của bạn: \ ------------------------------- rails /
Nó giống như phiên bản mà bạn nhận được bằng cách fork, ngoại trừ việc nó cũng có một upstream
điều khiển 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 mình (nếu bạn đã tạo phiên bản fork, có thể bạn sẽ muốn thêm upstream
điều khiển từ xa như tốt).