Sự khác biệt giữa HEADvà mastertrong Git là gì?
Tôi đã thực hiện một bản sao của một dự án trên GitHub và muốn đẩy các thay đổi của mình lên điều khiển từ xa. Nhưng tôi nên đẩy cái nào?

Sự khác biệt giữa HEADvà mastertrong Git là gì?
Tôi đã thực hiện một bản sao của một dự án trên GitHub và muốn đẩy các thay đổi của mình lên điều khiển từ xa. Nhưng tôi nên đẩy cái nào?

Câu trả lời:
masterlà một tham chiếu đến cuối của một chi nhánh. Theo quy ước (và theo mặc định), đây thường là nhánh tích hợp chính, nhưng nó không phải như vậy.
HEADthực sự là một loại tham chiếu đặc biệt chỉ đến một tham chiếu khác. Nó có thể trỏ đến master hoặc có thể không (nó sẽ trỏ đến bất kỳ chi nhánh nào hiện đang được kiểm tra). Nếu bạn biết bạn muốn cam kết với masterchi nhánh thì hãy đẩy sang đây.
Đây là một ví dụ trực quan:

Trên kho lưu trữ của riêng bạn, bạn có thể kiểm tra vị trí HEADtrỏ tới bằng cách chạy này:
$ git symbolic-ref HEAD
refs/heads/master
Tuy nhiên, việc tìm ra nơi remotes/origin/HEADchỉ vào là khó khăn hơn vì nó nằm trên máy từ xa.
Có một hướng dẫn nhỏ tuyệt vời về tài liệu tham khảo git ở đây:
http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1
Câu trả lời đơn giản HEADlà một con trỏ / nhãn cho cam kết gần đây nhất của nhánh bạn hiện đang ở. masterlà nhánh mặc định được tạo khi bạn khởi tạo kho git (ví dụ git init).
Bạn có thể xóa masterchi nhánh (ví dụ git branch -D master). Bạn không thể xóa HEADcon trỏ.
HEADlà một con trỏ / nhãn cho cam kết gần đây nhất của chi nhánh bạn hiện đang ở." Tôi nghĩ rằng điều này là sai lệch ở tốt nhất. Nếu bạn kiểm tra một cam kết cũ hơn, thì bây giờ CHÍNH là một con trỏ tới cam kết cũ hơn đó, không phải là cam kết gần đây nhất. Đúng?
checkoutlệnh này tương đương với việc chuyển nhánh trong các hệ thống SCM phổ biến khác.
HEADcon trỏ Git thực sự là gì. Tôi đánh giá cao bình luận của bạn và nghĩ rằng những người khác cũng sẽ như vậy. Nội dung bài viết gốc của tôi cùng với bình luận theo dõi của bạn bổ sung cho nhau. Cảm ơn.
Đơn giản chỉ cần đẩy những thay đổi của chi nhánh hiện tại của bạn
git push origin
và nó sẽ đẩy chi nhánh của bạn ' B' thay đổi thành ' origin/B'.
Nếu bạn ở trên masterchi nhánh của bạn , git sẽ đẩy đến origin/master.
Trên thực tế, nó sẽ đẩy tất cả các thay đổi trên các nhánh cục bộ phù hợp với các nhánh từ xa tại origin. Nó được điều khiển bởi cài đặt cấu hình push.default .
Xem thêm đẩy RefSpecs trong sách Pro Git .
Những gì bạn đang thấy là thanh bên đại diện cho tất cả các refspecs của repo từ xa của bạn trong ngã ba GitX thử nghiệm của dự án GitX .

Các HEADsẽ chỉ chi nhánh mặc định cho từ xa mà.
Xem git remote set-headtrang người đàn ông :
Không có một nhánh mặc định cho một điều khiển từ xa là không bắt buộc, nhưng cho phép tên của điều khiển từ xa được chỉ định thay cho một chi nhánh cụ thể.
Ví dụ: nếu nhánh mặc định chooriginđược đặt thànhmaster, thìorigincó thể được chỉ định ở bất cứ nơi nào bạn thường chỉ địnhorigin/master.