让我们从一个场景开始。
1. 我暂存了一些更改(5个文件)
我执行了
但是它失败并显示错误:
1. 我暂存了一些更改(5个文件)
git stash
2. 修改某些文件
3. 提交更改git commit -m "提交信息"
4. 从暂存中获取更改git stash apply
由于这次提交,我在2个文件中收到了合并冲突。我不再想要那2个文件中的更改,所以我试图撤销这些更改。我执行了
git checkout -- background.js
。但是它失败并显示错误:
然后我阅读了这篇文章并尝试了其他方法。error: path 'src/background/background.js' is unmerged
git checkout HEAD -- background.js
它成功地工作了。这对我来说两个文件都是一样的。我想要了解 git checkout -- file
和 git checkout HEAD -- file
之间的区别。
git checkout -- <pathname>
从暂存区中检出<pathname>
的内容,而git checkout HEAD -- <pathname>
则从特定提交中检出它,该提交由引用HEAD
解析(在90%的情况下,这是当前所检出分支的最新提交)。 - kostix