2011-06-24 38 views
6

Tôi lưu ý rằng hành vi mặc định của git push origin là "đẩy tất cả các nhánh có cùng tên địa phương và tên miền xa".`Git push` có hoạt động như viết tắt của` git push origin newfeature` không?

Nếu tôi tạo chi nhánh mới newfeature và kiểm tra xem nó, sẽ git push đẩy chi nhánh đến origin theo mặc định?

Hoặc tôi có cần sử dụng git push origin newfeature ngay cả khi được kiểm tra không?

Hơn nữa, lệnh git push HEAD liên quan đến điều này như thế nào?

Trả lời

7

Theo mặc định, nó sẽ đẩy newfeature nếu và chỉ khi một chi nhánh có tên là newfeature đã tồn tại trên điều khiển từ xa.

Bạn có thể thay đổi điều này bằng cách sử dụng biến cấu hình push.default.

git push HEAD về bản chất là viết tắt của git push <name of checked out branch> nếu bạn đã kiểm tra chi nhánh.

+0

Điều này có nghĩa là 'git push HEAD' và' git push' có chính xác chức năng giống nhau không, cụ thể là đẩy chi nhánh đã kiểm tra đến điều khiển từ xa (miễn là một chi nhánh có cùng tên đã tồn tại trên điều khiển từ xa)? – eoinoc

+0

Không. 'Git push', theo mặc định, đẩy * tất cả * các nhánh cục bộ có các nhánh phù hợp trên điều khiển từ xa. Vì vậy, nếu bạn có một địa phương 'A', một địa phương' B', và một địa phương 'C', và có' A' và 'C' trên điều khiển từ xa, cả hai' A' và 'C' sẽ được đẩy (nhưng không phải 'B', vì không có từ xa phù hợp' B' đã có). – Amber