2013-10-11 22 views
23

Tôi khá mới với git. Tôi đang tạo một chi nhánh và sau đó muốn đẩy nó vào nguồn gốc. Tôi nghĩ rằng việc phát hành git đơn giản trong khi đứng trên nhánh của tôi là đủ. Có thể làm điều đó (bằng cách chỉ định push.default đơn giản)? Có hợp lý để làm điều đó không?git push vs git push origin <branchname>

+1

vâng, dĩ nhiên, bạn sẽ có thể làm git push mà không nói git push -u origin master. u là dành cho thiết lập thượng lưu, bạn nên làm git push - u origin để thiết lập các thượng nguồn ít nhất một lần, và sau đó bạn có thể làm git push chỉ như thế –

+0

cũng kiểm tra này ra http://stackoverflow.com/câu hỏi/948354/git-push-current-branch? rq = 1 để đặt push.default nếu bạn cần –

Trả lời

24

Việc thúc đẩy đầu tiên phải là một:

git push -u origin branchname 

Điều đó sẽ đảm bảo:

Bất kỳ lệnh git push nào trong tương lai sẽ, với chính sách mặc định đó, chỉ đẩy nhánh hiện tại và chỉ khi nhánh đó có nhánh ngược dòng có cùng tên.
tránh sử dụng tất cả chi nhánh phù hợp (chính sách mặc định trước đó), nơi tấn cành thử được đẩy ngay cả khi chúng chưa sẵn sàng hiển thị trên upstream repo.

+0

Tôi có đúng khi hiểu rằng tôi nên làm hai việc: 1) ban hành 'git push -u origin branchname' trên nhánh đầu tiên đẩy 2) đặt push.default đơn giản? – dhblah

+1

Thực ra tôi nghĩ rằng git tự động liên kết nhánh địa phương hiện tại với nhánh từ xa được tạo ra bằng cách tạo 'git push origin branchname'. Điều này sẽ là hợp lý cho nó để làm như vậy. Ý tôi là, thật lạ lùng khi tôi cần phải xác định rõ ràng rằng chi nhánh địa phương mà tôi đang cố gắng xuất xứ nên được liên kết với chi nhánh địa phương mà tôi đang đẩy từ đó. – dhblah

+0

1) có: xem http://stackoverflow.com/a/17096880/6309 2) yes – VonC

20

Trước tiên, bạn cần phải tạo ra chi nhánh tại địa phương

git checkout -b your_branch 

Sau đó, bạn có thể làm việc tại địa phương trong ngành của bạn, khi bạn sẵn sàng chia sẻ các chi nhánh, đẩy nó. Lệnh tiếp theo đẩy ngành về nguồn gốc kho từ xa và theo dõi nó

git push -u origin your_branch 

đồng đội của bạn/đồng nghiệp có thể đẩy đến chi nhánh của bạn bằng cách thực hiện các cam kết và sau đó đẩy một cách rõ ràng

... work ... 
git commit 
... work ... 
git commit 
git push origin HEAD:refs/heads/your_branch