Tôi tạo một chi nhánh mới trong Git:
git branch my_branch
Đẩy nó:
git push origin my_branch
Bây giờ nói ai đó đã thực hiện một số thay đổi trên máy chủ và tôi muốn lấy từ đó origin/my_branch. Tôi làm:
git pull
Nhưng tôi nhận được:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.my_branch.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
[branch "my_branch"]
remote = <nickname>
merge = <remote-ref>
[remote "<nickname>"]
url = <url>
fetch = <refspec>
See git-config(1) for details.
Tôi đã học được rằng tôi có thể làm cho nó hoạt động với:
git branch --set-upstream my_branch origin/my_branch
Nhưng tại sao tôi cần phải làm điều này cho mọi chi nhánh tôi tạo ra? Không phải là rõ ràng rằng nếu tôi đẩy my_branchvào origin/my_branch, sau đó tôi sẽ muốn kéo origin/my_branchvào my_branch? Làm thế nào tôi có thể làm cho hành vi này mặc định?
--set-upstreamtùy chọn bị phản đối. Bạn nên sử dụng --trackhoặc --set-upstream-tothay thế.
--set-upstreamkhông được dùng nữa, thì có lẽ các nhà phát triển git nên xóa nó khỏi thông báo trợ giúp được hiển thị khi bạn chạy git pushkhông có tùy chọn và không có dòng ngược nào được đặt?
git branch --set-upstreamkhông được dùng nữa. git push --set-upstreamkhông phải.
branch.autosetupmergecó nghĩa là cấu hình ngược dòng cho một nhánh mới chỉ được đặt tự động khi tạo một nhánh từ nhánh theo dõi từ xa (ví dụ<remote-name>/<branch-name>) (xem git-config (1) ). Bạn có thể đang tạo các chi nhánh của bạn từ các chi nhánh địa phương hiện có. Nếu bạn đang phân nhánh hiệu quả trực tiếp từ đầu của một nhánh từ xa (mặc dù nằm trên một nhánh cục bộ), thì bạn có thể sử dụnggit branch my_branch <remote-name>/<branch-name>để tự động thiết lập cấu hình ngược dòng.