Dưới đây cung cấp thông tin đầy đủ. Nói tóm lại, simple
sẽ chỉ đẩy current working branch
và thậm chí sau đó chỉ khi nó cũng có cùng tên trên điều khiển từ xa. Đây là một cài đặt rất tốt cho người mới bắt đầu và sẽ trở thành mặc định trongGIT 2.0
push.default
Xác định hành động git đẩy sẽ thực hiện nếu không có refspec được đưa ra rõ ràng. Các giá trị khác nhau rất phù hợp cho quy trình công việc cụ thể; ví dụ, trong một luồng công việc hoàn toàn trung tâm (nghĩa là nguồn tìm nạp bằng với đích đẩy), ngược dòng có thể là những gì bạn muốn. Các giá trị có thể là:
không có gì - không đẩy bất cứ điều gì (lỗi ra) trừ khi một refspec được đưa ra rõ ràng. Điều này chủ yếu có nghĩa là cho những người muốn tránh sai lầm bằng cách luôn luôn rõ ràng.
hiện tại - đẩy chi nhánh hiện tại để cập nhật một chi nhánh có cùng tên ở đầu nhận. Hoạt động trong cả hai quy trình làm việc trung tâm và không trung tâm.
ngược dòng - đẩy nhánh hiện tại trở lại nhánh có thay đổi thường được tích hợp vào nhánh hiện tại (được gọi là @ {ngược dòng}). Chế độ này chỉ có ý nghĩa nếu bạn đang đẩy vào cùng một kho lưu trữ mà bạn thường lấy từ (tức là luồng công việc trung tâm).
đơn giản - trong quy trình làm việc tập trung, làm việc như ngược dòng với sự an toàn bổ sung để từ chối đẩy nếu tên của chi nhánh ngược dòng khác với tên địa phương.
Khi đẩy đến một điều khiển khác với điều khiển từ xa mà bạn thường kéo từ đó, hãy làm việc như hiện tại. Đây là lựa chọn an toàn nhất và phù hợp cho người mới bắt đầu.
Chế độ này sẽ trở thành mặc định trong Git 2.0.
khớp - đẩy tất cả các nhánh có cùng tên ở cả hai đầu. Điều này làm cho kho lưu trữ mà bạn đang cố gắng ghi nhớ tập hợp các nhánh sẽ bị đẩy ra (ví dụ: nếu bạn luôn đẩy duy trì và làm chủ ở đó và không có các nhánh khác, kho lưu trữ mà bạn đẩy sẽ có hai nhánh này, và duy trì và làm chủ cục bộ của bạn sẽ được đẩy ở đó).
Để sử dụng chế độ này một cách hiệu quả, bạn phải đảm bảo tất cả các nhánh bạn sẽ đẩy ra đã sẵn sàng để bị đẩy ra trước khi chạy git đẩy, vì toàn bộ điểm của chế độ này là cho phép bạn đẩy tất cả các nhánh trong một lần. Nếu bạn thường hoàn thành công việc chỉ trên một nhánh và đưa ra kết quả, trong khi các nhánh khác chưa hoàn thành, chế độ này không dành cho bạn. Ngoài ra chế độ này không phù hợp để đẩy vào kho lưu trữ trung tâm được chia sẻ, vì những người khác có thể thêm các nhánh mới ở đó hoặc cập nhật mẹo của các nhánh hiện có ngoài tầm kiểm soát của bạn.
Đây hiện là mặc định, nhưng Git 2.0 sẽ thay đổi mặc định thành đơn giản.