Update source code mới nhất cho GitHub Forked Repository


Gần đây mình đã xây dựng một dự án cho khách hàng và khách hang sử dụng GitHub để quản lý source code.  Mình thực hiện forked (clone source code) từ branch master của khách hàng về tài khoản GitHub của mình để tiến hành chỉnh sửa source code trên đó.

Một vài ngày sau, một sự thay đổi khác được thực hiện bởi một dev khác trên branch master của khách hàng. Vì vậy để tránh conflict với source code đã bị thay đổi bởi dev đó, mình cần phải update source code mới nhất từ branch master của khách hàng về bản fork trên tài khoản của mình.

Sau đây là cách mà mình tìm hiểu được và mình xin chia sẻ lại với đọc giả của trang vinasupport.com

1. Cấu hình Remote Repository cho tài khoản fork của bạn trên GitHub

Bước 1: Liệt kê danh sách remote repository của tài khoản fork của bạn.

$ git remote -v
origin  https://github.com/vinasupport/YOUR_FORK.git (fetch)
origin  https://github.com/vinasupport/YOUR_FORK.git (push)

Bước 2: Chỉ ra remote upstream repository sẽ được đồng bộ với tài khoản fork của bạn

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git

Bước 3: Xác nhận lại danh sách remote repository

$ git remote -v
origin    https://github.com/vinasupport/YOUR_FORK.git (fetch)
origin    https://github.com/vinasupport/YOUR_FORK.git (push)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

2. Đồng bộ source code cho tài khoản Fork của bạn trên GitHub

Bước 1: Mở Terminal và thay đổi đường dẫn tới nơi chưa source code của bạn trên máy tính (Nơi bạn checkout source trên GitHub)

Bước 2: Fetch dữ liệu từ Upstream Repository

$ 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

Bước 3: Checkout branch master tài khoản Fork của bạn

$ git checkout master
Switched to branch 'master'

Bước 4: Merge sự thay đổi giữa upstream/master với bản master branch trên máy tính 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

Bước 5: Push sự thay đổi lên branch trên GitHub

$ git push origin master

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web