2013-05-22 37 views
9

Tôi đã thực hiện yêu cầu kéo đầu tiên của tôi cách đây không lâu và tôi đã tìm thấy lỗi trong mã. (Meh)git, thực hiện yêu cầu kéo nhưng đã tìm thấy lỗi trong mã của tôi, cách khắc phục?

Tôi không muốn tạo chi nhánh mới và cam kết/đẩy/kéo yêu cầu chi nhánh mới điều này phải có trong yêu cầu kéo đầu tiên.

Tôi có rút yêu cầu kéo và gửi yêu cầu mới không?
Có cách nào khác không?

EDIT

Tôi đã 'git commit --amend' nhưng tôi không thể đẩy nó.

tôi thấy mới nhất của tôi cam kết hiện nay #B, trong khi bản gốc cam kết đượC#A và github trang web cho thấy yêu cầu kéo của tôi là chỉ vào #A

tôi đã làm 'git push my_github_fork MyWork_branch nhưng nó nói Everyhing-up-to-date.

Tôi đã thử tùy chọn cho -f nhưng không có kết quả.

Trả lời

11

Nếu repo chưa được kéo, bạn có thể chỉ cần sửa lỗi với một cam kết hơn nữa, sẽ được kéo.

+0

Vì vậy, tôi cam kết/đẩy tới my_fork_repo? Đó là tất cả? – eugene

+0

Bạn thậm chí có thể ép buộc phiên bản cố định mới của nhánh và yêu cầu kéo được cập nhật khi thích hợp. Khá gọn gàng. – kusma

+0

@Claudio đã thử điều này, nó hoạt động, cảm ơn! –

2

Yêu cầu kéo GitHub sẽ tự động cập nhật bất cứ lúc nào bạn cập nhật nhánh mà họ đang kéo. Vì vậy, hãy tiếp tục và đẩy thêm cam kết hoặc sửa đổi cam kết trước đó của bạn.

5

Nếu bạn muốn giữ yêu cầu kéo gọn, tôi khuyên bạn nên xóa lại các cam kết trong nhánh của bạn để lỗi thậm chí không nhìn thấy được và đẩy nhánh của bạn vào GitHub.

Nếu bạn đang sửa chữa mới nhất của bạn cam kết, điều này cũng đơn giản như việc sửa đổi nó:

git commit --amend 

GitHub sẽ tự động cập nhật các cam kết trong kéo theo yêu cầu của bạn với bất cứ thứ gì trong ngành đó, vì vậy khi điều này là được xem bởi các nhà phát triển trong kho lưu trữ khác, họ sẽ chỉ thấy các cam kết mà bạn muốn họ xem.

Tôi luôn cố gắng đảm bảo rằng các cam kết trong git cho biết một số loại câu chuyện - cần phải rõ ràng những gì bạn đang làm từ lịch sử cam kết. Khi một yêu cầu kéo được rải rác với những sai lầm và sau đó cam kết sửa chữa chúng, nó làm cho nó thực sự khó hiểu câu chuyện đó.

Tôi đã nhận được nhiều yêu cầu kéo lộn xộn và không rõ ràng. Tôi chắc chắn khuyên bạn nên rebasing chi nhánh để giữ cho mọi thứ rõ ràng.

+0

Bạn có thể xem chỉnh sửa của tôi không? – eugene

+0

Trạng thái 'git status' nói gì? Nó cho thấy rằng bạn đang ở trên nhánh bên phải, và rằng mọi thứ khác là sạch sẽ? Khi bạn nhìn vào cam kết cuối cùng của mình, bạn có thấy công việc mới nhất của mình không? Khi bạn chạy 'git log', hàm băm của commit có khác với commit trên GitHub không? 'Git push origin - force' là gì? –