Hãy thử điều này trong alice
kho lưu trữ của bạn (trước khi đẩy):
git config push.default tracking
Hoặc, cấu hình nó làm mặc định cho người dùng của bạn với git config --global …
.
git push
không mặc định cho origin
kho lưu trữ (thường là kho lưu trữ mà bạn đã sao chép kho lưu trữ hiện tại), nhưng nó không mặc định để đẩy nhánh hiện tại, nó mặc định chỉ đẩy các nhánh tồn tại trong cả kho lưu trữ nguồn và kho lưu trữ đích.
Biến push.default
cấu hình (xem git-config (1) ) kiểm soát những gì git push
sẽ đẩy khi nó không được cung cấp bất kỳ đối số giới thiệu nào của giới thiệu (tức là một cái gì đó sau tên kho lưu trữ). Giá trị mặc định cho hành vi được mô tả ở trên.
Dưới đây là các giá trị có thể cho push.default
:
nothing
Điều này buộc bạn phải cung cấp một refspec khác.
matching
(mặc định)
Điều này đẩy tất cả các nhánh tồn tại trong cả kho lưu trữ nguồn và kho lưu trữ đích.
Điều này là hoàn toàn độc lập với các chi nhánh hiện đang được kiểm tra.
upstream
hoặc tracking
(Cả hai giá trị đều có nghĩa giống nhau. Cái sau không được dùng để tránh nhầm lẫn với các chi nhánh của bộ theo dõi từ xa. Cái trước được giới thiệu trong 1.7.4.2, vì vậy bạn sẽ phải sử dụng cái sau nếu bạn đang sử dụng Git 1.7.3.1. )
Những cái này đẩy nhánh hiện tại đến nhánh được chỉ định bởi cấu hình dòng ngược dòng của nó.
current
Điều này đẩy nhánh hiện tại đến nhánh cùng tên tại kho đích.
Hai trường hợp cuối cùng này giống nhau cho các trường hợp phổ biến (ví dụ: làm việc trên master master sử dụng nguồn gốc / master làm ngược dòng), nhưng chúng khác nhau khi nhánh cục bộ có một tên khác với nhánh nhánh ngược dòng của nó:
git checkout master
# hack, commit, hack, commit
# bug report comes in, we want a fix on master without the above commits
git checkout -b quickfix origin/master # "upstream" is master on origin
# fix, commit
git push
Với push.default
bằng upstream
(hoặc tracking
), push sẽ đi đến origin
's chủ chi nhánh. Khi nó bằng current
, đẩy sẽ đi đến origin
's QuickFix chi nhánh.
Các matching
thiết lập sẽ cập nhật bare
của bậc thầy trong kịch bản của bạn một khi nó đã được thiết lập. Để thiết lập nó, bạn có thể sử dụng git push origin master
một lần.
Tuy nhiên, upstream
cài đặt (hoặc có thể current
) có vẻ như phù hợp hơn với những gì bạn mong đợi sẽ xảy ra, vì vậy bạn có thể muốn thử:
# try it once (in Git 1.7.2 and later)
git -c push.default=upstream push
# configure it for only this repository
git config push.default upstream
# configure it for all repositories that do not override it themselves
git config --global push.default upstream
(Một lần nữa, nếu bạn vẫn đang sử dụng Git trước 1.7.4.2, bạn sẽ cần sử dụng tracking
thay vì upstream
).