Khi được hỏi trong câu hỏi này , tôi cũng muốn biết cách giải quyết xung đột git stash pop
mà không cần thêm tất cả các sửa đổi vào một cam kết (giống như "git stash pop" mà không có xung đột nào).
Cách tiếp cận hiện tại của tôi rất không hay vì tôi làm theo cách này:
git stash pop -> CONFLICT
git stash drop
[resolve conflict]
[add conflict files]
git reset HEAD <all files that are in commit-mode>
[Cập nhật] Một cách để tái tạo nó:
mkdir foo; cd foo; git init
echo "1" > one
echo "2" > two
git add -A; git commit -m "first"
echo "1.1" > one
echo "2.1" > two
git stash
echo "2.2" > two
git commit -a -m "second"
echo "Only this file would stay in HEAD without the conflict" > third
git add third
git stash pop
git status
2016-06-27: Đã thêm một tệp mới gọi là 'thứ ba' vào ví dụ để cho thấy các cách giải quyết như giải pháp từ scy chỉ hoạt động đối với các Head trống nhưng không khắc phục vấn đề ban đầu mà HEAD không có cùng nội dung như cho một git stash pop
không có xung đột.
git stash pop
có khi không có xung đột xảy ra (nhưng với thông báo tập tin nào cần được hợp nhất).
git add
giải quyết các tệp xung đột, sắp xếp chúng một cách hiệu quả trong chỉ mục và bạn muốn không có chúng trong chỉ mục của chúng tôi?