2012-04-17 30 views
21

Nó đi như thế này:git Revert cam/đẩy nhưng giữ các thay đổi

  • Tôi có file A và B mà tôi sửa đổi

  • Tôi chỉ cho rằng cam kết và đẩy A, nhưng vô tình cam kết cả hai và đẩy cả A và B

  • Tôi đã thực hiện "git push old-id: master tôi nghĩ rằng nó trở lại trước khi tôi cam kết.

Câu hỏi:

  • On địa phương của tôi, làm thế nào để undo các cam kết rằng có A và B, và cam kết chỉ A, và đẩy chỉ A?

Lưu ý: Tôi cần giữ lại các thay đổi cho cả A và B trên địa phương. Kết quả cuối cùng sẽ là:

  • địa phương - mới A và B mới
  • Github - mới A và cũ B
+1

Tại sao không chỉ kiểm tra các B trước và sau đó cam kết và đẩy nó ? –

+0

sẽ hoạt động :) –

Trả lời

37
$ git reset <old-id> # Undo the commit after old-id 
$ git add A    # stage A for a new commit 
$ git commit   # make the new commit 
$ git push    # push it 
Các vấn đề liên quan