GitHub là nơi mọi người xây dựng phần mềm. Hơn 83 triệu người sử dụng GitHub để khám phá, phân nhánh và đóng góp cho hơn 200 triệu dự án.

Bạn đang xem : cách kéo các nhánh từ github

Git pull minh họa


Git Pull

git pull cập nhật chi nhánh làm việc cục bộ hiện tại của bạn và tất cả các chi nhánh theo dõi từ xa. Bạn nên chạy git pull thường xuyên trên các nhánh mà bạn đang làm việc tại địa phương.

Nếu không có git pull , (hoặc ảnh hưởng của nó,) chi nhánh cục bộ của bạn sẽ không có bất kỳ bản cập nhật nào có trên điều khiển từ xa.


git pull Làm gì?

 git pull 

git pull là một trong 4 thao tác từ xa trong Git. Nếu không chạy git pull , kho lưu trữ cục bộ của bạn sẽ không bao giờ được cập nhật các thay đổi từ điều khiển từ xa. git pull nên được sử dụng hàng ngày khi bạn tương tác với kho lưu trữ bằng điều khiển từ xa, ở mức tối thiểu. Đó là lý do tại sao git pull là một trong những lệnh Git được sử dụng nhiều nhất.


git pull git fetch

git pull , sự kết hợp của git fetch + git merge , cập nhật một số phần của kho lưu trữ cục bộ của bạn với các thay đổi từ kho lưu trữ từ xa. Để hiểu điều gì được và không bị ảnh hưởng bởi git pull , trước tiên bạn cần hiểu khái niệm về các nhánh theo dõi từ xa. Khi bạn sao chép một kho lưu trữ, bạn sao chép một nhánh đang hoạt động, main và tất cả các nhánh theo dõi từ xa. git fetch cập nhật các nhánh theo dõi từ xa. git merge sẽ cập nhật chi nhánh hiện tại của bạn với bất kỳ cam kết mới nào trên chi nhánh theo dõi từ xa.

git pull là cách phổ biến nhất để cập nhật kho lưu trữ của bạn.

Tuy nhiên, bạn có thể muốn sử dụng git fetch để thay thế. Một lý do để làm điều này có thể là bạn mong đợi xung đột. Xung đột có thể xảy ra theo cách này nếu bạn có cam kết cục bộ mới và cam kết mới trên điều khiển từ xa. Giống như xung đột hợp nhất sẽ xảy ra giữa hai nhánh khác nhau, hai dòng lịch sử khác nhau này có thể chứa các thay đổi đối với các phần giống nhau của cùng một tệp. Nếu bạn thao tác git fetch lần đầu tiên, quá trình hợp nhất sẽ không được bắt đầu và bạn sẽ không được nhắc giải quyết xung đột. Điều này giúp bạn linh hoạt để giải quyết xung đột sau này mà không cần kết nối mạng.

Một lý do khác mà bạn có thể muốn chạy git fetch là để cập nhật lên tất cả các nhánh theo dõi từ xa trước khi mất kết nối mạng. Nếu bạn chạy git fetch và sau đó cố chạy git pull mà không có bất kỳ kết nối mạng nào, thì phần git fetch của git thao tác kéo sẽ không thành công.

Nếu bạn sử dụng git fetch thay vì git pull , hãy đảm bảo rằng bạn nhớ git merge . Việc hợp nhất chi nhánh theo dõi từ xa vào chi nhánh của riêng bạn đảm bảo rằng bạn sẽ làm việc với bất kỳ bản cập nhật hoặc thay đổi nào.


Cách sử dụng git pull


Các cách sử dụng và tùy chọn phổ biến cho git pull

  • git pull : Cập nhật chi nhánh làm việc cục bộ của bạn với các cam kết từ điều khiển từ xa và cập nhật tất cả các chi nhánh theo dõi từ xa.
  • git pull --rebase : Cập nhật nhánh làm việc cục bộ của bạn với các cam kết từ điều khiển từ xa, nhưng viết lại lịch sử để mọi cam kết cục bộ xảy ra sau tất cả các cam kết mới đến từ điều khiển từ xa, tránh một cam kết hợp nhất. < / li>
  • git pull --force : Tùy chọn này cho phép bạn buộc tìm nạp một nhánh theo dõi từ xa cụ thể khi sử dụng tùy chọn & lt; refspec & gt; mà nếu không thì không tìm nạp do xung đột. Để buộc Git ghi đè nhánh hiện tại của bạn để khớp với nhánh theo dõi từ xa, hãy đọc phần dưới đây về cách sử dụng git reset .
  • git pull --all : Tìm nạp tất cả các điều khiển từ xa – điều này rất hữu ích nếu bạn đang làm việc trên một ngã ba hoặc trong một trường hợp sử dụng khác có nhiều điều khiển từ xa.

Bạn có thể xem tất cả nhiều tùy chọn với git pull trong tài liệu của git-scm .


Ví dụ về git pull


Làm việc trên Chi nhánh

Nếu bạn đang làm việc trên một chi nhánh, bạn nên chạy git pull trước khi bắt đầu công việc và giới thiệu các cam kết mới. Ngay cả khi bạn tạm dừng phát triển một chút, vẫn có khả năng một trong những cộng tác viên của bạn đã thực hiện các thay đổi đối với chi nhánh của bạn. Thay đổi này thậm chí có thể đến từ việc cập nhật chi nhánh của bạn với các thay đổi mới từ main .

Bạn nên chạy git status – đặc biệt là trước git pull . Các thay đổi không được cam kết có thể được ghi đè trong khi git pull . Hoặc, họ có thể chặn phần git merge của git pull thực thi. Nếu bạn có các tệp được thay đổi, nhưng không được cam kết và các thay đổi trên điều khiển từ xa cũng thay đổi các phần tương tự của cùng một tệp, Git phải đưa ra lựa chọn. Vì chúng không phải là những thay đổi được cam kết, nên không có khả năng xảy ra xung đột hợp nhất. Git sẽ ghi đè những thay đổi trong thư mục làm việc hoặc thư mục lưu trữ của bạn hoặc hợp nhất sẽ không hoàn tất và bạn sẽ không thể đưa vào bất kỳ cập nhật nào từ điều khiển từ xa.

Nếu điều này xảy ra, hãy sử dụng git status để xác định những thay đổi nào đang gây ra sự cố. Xóa hoặc cam kết những thay đổi đó, sau đó git pull hoặc git merge lại.

Luôn cập nhật main

Giữ cho nhánh main được cập nhật thường là một ý kiến ​​hay.

Ví dụ: giả sử bạn đã sao chép một kho lưu trữ. Sau khi bạn nhân bản, ai đó hợp nhất một nhánh thành chính. Sau đó, bạn muốn tạo một chi nhánh mới để thực hiện một số công việc. Nếu bạn tạo chi nhánh của mình từ main trước khi vận hành git pull , chi nhánh của bạn sẽ không có các thay đổi gần đây nhất. Bạn có thể vô tình tạo ra xung đột hoặc các thay đổi trùng lặp. Bằng cách chạy git pull trước khi tạo brach, bạn có thể chắc chắn rằng mình sẽ làm việc với thông tin mới nhất.


Hoàn tác một git pull

Để “hoàn tác” một git pull một cách hiệu quả, bạn không thể hoàn tác git fetch – nhưng bạn có thể hoàn tác git merge đã thay đổi chi nhánh làm việc tại địa phương.

Để thực hiện việc này, bạn cần git reset về cam kết bạn đã thực hiện trước khi hợp nhất. Bạn có thể tìm thấy cam kết này bằng cách tìm kiếm git reflog . Bản cập nhật là nhật ký của mọi địa điểm mà HEAD đã chỉ đến – mọi địa điểm mà bạn đã từng đến. Bản cập nhật này chỉ được lưu giữ trong 30 đến 90 ngày, tùy thuộc vào cam kết và chỉ được lưu trữ cục bộ. (Bản cập nhật là một lý do tuyệt vời để không xóa kho lưu trữ nếu bạn cho rằng mình đã mắc lỗi!)

Chạy git reflog và tìm kiếm cam kết mà bạn muốn quay lại. Sau đó, chạy git reset --hard & lt; SHA & gt; để đặt lại HEAD và chi nhánh hiện tại của bạn về SHA của cam kết từ trước khi hợp nhất.


Buộc git pull để ghi đè các tệp cục bộ

Nếu bạn đã cam kết cục bộ mà bạn rất tiếc, bạn có thể muốn chi nhánh cục bộ của mình khớp với chi nhánh ở xa mà không cần lưu bất kỳ công việc nào của bạn. Điều này có thể được thực hiện bằng cách sử dụng git reset . Trước tiên, hãy đảm bảo rằng bạn có bản sao mới nhất của nhánh theo dõi từ xa đó bằng cách tìm nạp.

git tìm nạp & lt; từ xa & gt; & lt; chi nhánh & gt;
ví dụ: git fetch origin main

Sau đó, sử dụng git reset --hard để di chuyển con trỏ HEAD và con trỏ nhánh hiện tại đến cam kết gần đây nhất vì nó tồn tại trên nhánh theo dõi từ xa đó.

git reset --hard & lt; remote & gt; / & lt; branch & gt;
ví dụ: git reset --hard origin / main

_Lưu ý: Bạn có thể tìm thấy điều khiển từ xa bằng git remote -v và xem tất cả các nhánh theo dõi từ xa có sẵn với git branch --all .


git pull với Rebase

Nếu có các cam kết mới trên cả chi nhánh cục bộ và chi nhánh từ xa, một cam kết hợp nhất sẽ được tạo khi bạn git pull . Hợp nhất đệ quy này là kiểu hợp nhất mặc định khi có hai phần tách trong lịch sử được kết hợp với nhau. Tuy nhiên, bạn có thể muốn lịch sử trên một nhánh chỉ là một dòng.

Bạn có thể cập nhật nhánh làm việc cục bộ của mình bằng các cam kết từ điều khiển từ xa, nhưng hãy viết lại lịch sử để mọi cam kết cục bộ xảy ra sau tất cả các cam kết mới đến từ điều khiển từ xa, tránh một cam kết hợp nhất.
Điều này được thực hiện với git pull --rebase .

Việc sử dụng git pull --rebase không ảnh hưởng đến tính toàn vẹn của các thay đổi hoặc các cam kết, nhưng nó ảnh hưởng đến giao diện lịch sử trong mối quan hệ cha / con cam kết.


Điều khoản liên quan

  • git clone [url]: Sao chép (tải xuống) kho lưu trữ đã tồn tại trên GitHub, bao gồm tất cả các tệp, nhánh và cam kết.
  • git status : Luôn luôn là một ý kiến ​​hay, lệnh này cho bạn biết bạn đang ở nhánh nào, tệp nào nằm trong thư mục đang hoạt động hoặc thư mục dàn dựng và bất kỳ thông tin quan trọng nào khác.
  • git branch : Điều này hiển thị các nhánh hiện có trong kho lưu trữ cục bộ của bạn. Bạn cũng có thể sử dụng git branch [banch-name] để tạo một chi nhánh từ vị trí hiện tại của mình hoặc git branch --all để xem tất cả các chi nhánh, cả những chi nhánh cục bộ trên máy của bạn và các nhánh theo dõi từ xa được lưu trữ từ git pull hoặc git fetch cuối cùng từ điều khiển từ xa.
  • git push : Tải tất cả các cam kết chi nhánh cục bộ lên điều khiển từ xa.
  • git log : Duyệt và kiểm tra sự phát triển của các tệp dự án.
  • git remote -v : Hiển thị các kho lưu trữ từ xa được liên kết và tên được lưu trữ của chúng, chẳng hạn như origin .

Đóng góp cho bài viết này trên GitHub.

Bắt đầu với git và GitHub

Xem lại mã, quản lý dự án và xây dựng phần mềm cùng với 40 triệu nhà phát triển.


Đăng ký GitHub



Đăng nhập


Xem thêm những thông tin liên quan đến chủ đề cách kéo cành từ github

How to Push Code to Github

alt

  • Tác giả: Codecademy
  • Ngày đăng: 2019-06-12
  • Đánh giá: 4 ⭐ ( 4629 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: One of the most important milestones for a developer is pushing code to Github for the first time. In this video, Maggie helps you get there! Github allows you to have version control, so you can save and edit work individually or collaboratively and see retain previous versions of the same product. In some ways, it’s like the coding equivalent of google drive!

    Learn Git with Codecademy: https://j.mp/3vAw0hk

    – – – – – 
    Join the millions learning to code with Codecademy.
    Learn to code: https://j.mp/2SuWT8p
    Check out our full course catalog: https://j.mp/3tejGSh

Git kéo một nhánh nhất định từ GitHub

  • Tác giả: vi.theshuggahpies.com
  • Đánh giá: 4 ⭐ ( 6778 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tôi có một dự án với nhiều chi nhánh. Tôi đã thúc đẩy họ lên GitHub, và bây giờ có người khác đang làm việc trong dự án, tôi cần rút các chi nhánh của họ khỏi GitHub. Nó hoạt động tốt trong tổng thể. Bu …

Cách tạo yêu cầu kéo trên GitHub

  • Tác giả: w.galaxyz.net
  • Đánh giá: 5 ⭐ ( 7718 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Miễn phí và open-souce , Git là một hệ thống kiểm soát version phân tán giúp các dự án phần mềm cộng tác dễ quản lý hơn. Nhiều dự án duy trì file của họ trong repository lưu trữ Git và các trang web như GitHub đã thực hiện chia sẻ và đóng góp để mã trở nên đơn giản, có giá trị và hiệu quả.

Hướng Dẫn Sử Dụng Git Và Cách Push Project Lên Kho Lưu Trữ Của GitHub

  • Tác giả: www.thanhlongdev.com
  • Đánh giá: 3 ⭐ ( 4479 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

: Git kéo một nhánh nhất định từ GitHub

  • Tác giả: vi.androidnetc.org
  • Đánh giá: 4 ⭐ ( 7982 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tôi có một dự án với nhiều chi nhánh. Tôi đã thúc đẩy họ lên GitHub, và bây giờ có người khác đang làm việc trong dự án, tôi cần rút các chi nhánh của họ khỏi GitHub. Nó hoạt động tốt trong tổng thể. Bu …

Github là gì? Hướng dẫn sử dụng Github

  • Tác giả: vntalking.com
  • Đánh giá: 4 ⭐ ( 9712 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Giờ đây, khi xin việc kỹ năng sử dụng github là gần như bắt buộc với các ứng viên. Hôm nay mình sẽ hướng dẫn sử dụng github cho các bạn!

Hướng dẫn kéo project từ Github về máy Android Studio

  • Tác giả: hoc5.blogspot.com
  • Đánh giá: 4 ⭐ ( 6957 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Toán tử Lớn hơn hoặc Bằng (> =) trong JavaScript - lớn hơn hoặc bằng js

By ads_php