Tôi đã theo trạng thái cây làm việc
$ git status foo/bar.txt
# On branch master
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: foo/bar.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Tệp foo/bar.txt
ở đó và tôi muốn đưa nó về "trạng thái không thay đổi" một lần nữa (tương tự như 'svn Revert'):
$ git checkout HEAD foo/bar.txt
error: path 'foo/bar.txt' is unmerged
$ git reset HEAD foo/bar.txt
Unstaged changes after reset:
M foo/bar.txt
Bây giờ nó đang trở nên khó hiểu:
$ git status foo/bar.txt
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: foo/bar.txt
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: foo/bar.txt
#
Các tập tin giống nhau trong cả hai phần, mới và sửa đổi? Tôi nên làm gì?
7
Tôi ước ai đó có thể giải thích làm thế nào để chúng ta vào tình huống này, tại sao nó lại xảy ra và tại sao giải pháp lại hiệu quả.
—
Marcos Dione
Tôi đã gặp phải tình huống này khi tôi bật stash của mình sau một cuộc nổi loạn khiến tôi rơi vào một cuộc xung đột hợp nhất (stash pop không hợp nhất) .... Để giải quyết nó, tôi đã thực hiện một "kiểm tra - theirs" .... rõ ràng là những thay đổi vẫn còn đó .... để loại bỏ những điều đó..Tôi đã thử kiểm tra lại tệp một lần nữa .. đó là khi tôi thấy lỗi trên.
—
Arindam Roychowdhury