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_branch
vào origin/my_branch
, sau đó tôi sẽ muốn kéo origin/my_branch
vào my_branch
? Làm thế nào tôi có thể làm cho hành vi này mặc định?
--set-upstream
tùy chọn bị phản đối. Bạn nên sử dụng --track
hoặc --set-upstream-to
thay thế.
--set-upstream
khô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 push
không có tùy chọn và không có dòng ngược nào được đặt?
git branch --set-upstream
không được dùng nữa. git push --set-upstream
không phải.
branch.autosetupmerge
có 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.