Hướng dẫn đồng bộ Git branch local và origin

Rate this post

Trong nhiều trường hợp làm việc lâu với Git, việc branch trên máy tính của bạn và trên hệ thống online không đồng bộ là chuyện khó tránh khỏi. Ta sẽ bàn cách đồng bộ Git branch vụ này như thế nào nhé.

Branch trong Git đồng bộ như thế nào?

Đầu tiên, ta cần hiểu và nắm được những gì cơ bản về branch trong Git. Đầu tiên, hãy thử làm theo những gợi ý sau:

1. Sử dụng command git fetch để kiểm tra xem trên origin (online) có những nhánh branch nào đã update mới. Bạn có thể mở SourceTree ra để quan sát cho trực quan hơn.

2. Tiếp đến, bạn thường checkout vào 1 branch online, hoặc reset về branch đó. Cú pháp thường như sau:

Checkout luôn vào 1 branch online

# git checkout origin/feature/hero

Bước này mới chuyển vào, nhưng chưa gắn HEAD.

# git checkout -b feature/hero

Bước này mới là gắn HEAD và hoàn tất

Reset về branch online ngay trên branch hiện tại

Hoặc sử dụng cách khác là trên branch có sẵn của bạn, bạn chuyển thẳng lên reset về đúng branch bạn cần.

Ví dụ tôi đang ở branch feature/hero rồi thì tôi chỉ cần gõ lệnh:

# git reset --hard origin/feature/hero

Giờ, ta sẽ quay trở lại với những gì bạn đang có.

Thực chất, branch origin/feature/herofeature/hero đang có trên máy của bạn là một, đúng không? Thật ra câu hỏi này hoàn toàn tương đối, vì là một “tại thời điểm bạn vừa mới checkout” thôi.

Nói như thế tức là thế nào?

    • Ai đó cũng ghi code lên branch đó, như vậy branch origin/feature/hero sẽ mới hơn của bạn.
    • Ai đó ghi đè lên branch đó, branch origin/feature/hero giờ hoàn toàn không giống branch trên máy bạn.

Như vậy, nảy sinh một tình huống oái oăm như ví dụ sau đây khi ta chạy lệnh git fetch:

Gặp lỗi không thể đồng bộ khi fetch từ origin

Branch nào đó bạn đã từng checkout, giờ không còn tồn tại trên local vì bị xoá trên đó.

Mỗi lần bạn gõ git fetch đều sẽ gặp tình cảnh như trên.

Hướng dẫn prune (tái đồng bộ các branch) trên máy bạn

Command thần thánh là đây:

git remote prune <tên remote>

Ví dụ:

git remote prune origin
git remote prune pantheon

Và như vậy, mọi chuyện sẽ xảy ra đơn giản cho cả hai:

Xoá các branch cũ không còn trên origin

Chúc bạn thành công với một mẹo nhỏ như trên.

1 bình luận về “Hướng dẫn đồng bộ Git branch local và origin”

Viết một bình luận

Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Liên hệ: 0876-80-84-80
Chuyên gia về Web
Bài viết liên quan

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...
Fix lỗi ERR_TOO_MANY_REDIRECTS khi cấu hình tên miền trên CloudFlare

17/12/2022

Fix lỗi ERR_TOO_MANY_REDIRECTS khi cấu hình tên miền trên CloudFlare
Khi các bạn bật biểu tượng đám mây trên DNS của tên miền tại CloudFlare, nhiều bạn sẽ gặp tình...
Hướng dẫn cài extension ioncube trên phần mềm LocalWP

16/11/2022

Hướng dẫn cài extension ioncube trên phần mềm LocalWP
LocalWP là phần mềm tạo web server dành cho fan yêu thích WordPress. Hướng dẫn này bổ sung cách cài...