2011-09-03 38 views
14

Nói rằng tôi làm các bước sau:rebase trên nhánh github

  • nĩa một số dự án, tạo ra một chi nhánh chủ đề
  • đẩy mà chi nhánh qua tại GitHub
  • yêu cầu một kéo từ chi nhánh đến các dự án ban đầu

Tuy nhiên, tôi nhận được một số nhận xét để cải thiện nội dung trên mã.

  • tôi sửa chữa lên mã, làm một cam kết
  • rebase dẹp cũ cam kết

Vấn đề là, tôi không thể đẩy nó nữa đến chi nhánh chủ đề qua tại GitHub.

Cách tốt nhất để xử lý vấn đề này là gì?

Trả lời

16

Khi rebased, bạn không thể chỉ cần thêm các cam kết mới về repo chia hai (kể từ khi bạn đã tái hiện lại những cam kết trong rebase, viết lại SHA1 của họ), bạn phải buộc đẩy bạn:

git push -f 

Và sau đó lại -do yêu cầu kéo của bạn.

Điều này là ok vì chưa có ai nhân bản repo của bạn và bắt đầu sử dụng chi nhánh của bạn.

Nếu chi nhánh đó đã được sử dụng, hãy làm theo that blog post:

Chú ý: Nếu bạn đã đẩy cam kết để GitHub, và sau đó bí chúng tại địa phương, bạn sẽ không thể để đẩy mà chi nhánh cùng để GitHub một lần nữa.
Tạo một chi nhánh mới - như 100-retweet-bug-squashed hoặc 100-retweet-bug-rc1 (dành cho ứng cử viên phát hành 1) - và bíp các cam kết của bạn ở đó.
Khi mọi thứ đã bị đè bẹp và sẵn sàng, hãy đẩy nhánh mới bị đè bẹp vào GitHub và gửi yêu cầu kéo của bạn tới Gina.

+0

+1 cho giải thích chú thích 'quan trọng'. –

+2

Lưu ý rằng bất kỳ cuộc thảo luận nào về yêu cầu kéo github ban đầu sẽ không có sẵn trong yêu cầu kéo mới. – sym3tri

Các vấn đề liên quan