Cách cập nhật repo GitHub rẽ nhánh với các thay đổi từ kho lưu trữ ngược dòng từ xa
Hướng dẫn từ GitHub Trợ giúp:
Cấu hình một ngã ba từ xa
Đồng bộ hóa một ngã ba
Hướng dẫn cài đặt / vận hành:
Mở Git Bash (Windows) hoặc Linux / Mac Terminal
Nếu bạn chưa sao chép kho lưu trữ của mình, bạn phải thay đổi thư mục làm việc của thư mục phát triển và sao chép nó vào máy trạm của bạn.
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK.git
Thay đổi thư mục làm việc của repo ngã ba trên máy trạm của bạn.
$ cd /user/development/my_forked_repo/
Liệt kê kho lưu trữ từ xa được cấu hình hiện tại cho ngã ba của bạn.
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
Chỉ định một kho lưu trữ ngược dòng từ xa mới sẽ được đồng bộ hóa với ngã ba.
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
Xác nhận kho lưu trữ ngược dòng mới mà bạn đã chỉ định cho ngã ba của mình.
$ git remote -v
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
Lấy các nhánh và các cam kết tương ứng của chúng từ kho lưu trữ ngược dòng. Cam kết với chủ sẽ được lưu trữ trong một nhánh cục bộ, ngược dòng / chính.
$ git fetch upstream
remote: Counting objects: 75, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 62 (delta 27), reused 44 (delta 9)
Unpacking objects: 100% (62/62), done.
From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
* [new branch] master -> upstream/master
Kiểm tra chi nhánh tổng thể địa phương của ngã ba của bạn.
$ git checkout master
Switched to branch 'master'
Hợp nhất các thay đổi từ thượng nguồn / chủ vào nhánh chính cục bộ của bạn. Điều này mang lại nhánh chính của ngã ba của bạn đồng bộ với kho lưu trữ ngược dòng mà không làm mất các thay đổi cục bộ của bạn.
$ git merge upstream/master
Updating a422352..5fdff0f
Fast-forward
README | 9 -------
README.md | 7 ++++++
2 files changed, 7 insertions(+), 9 deletions(-)
delete mode 100644 README
create mode 100644 README.md
Nếu chi nhánh địa phương của bạn không có bất kỳ cam kết duy nhất nào, thay vào đó Git sẽ thực hiện "chuyển tiếp nhanh":
$ git merge upstream/master
Updating 34e91da..16c56ad
Fast-forward
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Bây giờ bạn sẽ cần phải đẩy các cam kết đến ngã ba của bạn.
$ git push
Nếu bạn chưa được xác thực, nó sẽ nhắc tên người dùng / mật khẩu github của bạn. Sau khi xác thực, các cam kết mới sẽ được đẩy đến ngã ba của bạn và hiển thị trên github.