各位,
我对在 git 中存储有点陌生所以我可能在这里遗漏了一些基本的东西,这就是我正在做的:
- 我在我的 master 分支上,我一直在处理文件 app/models/medicine.rb ,我想从同事推送的 master 中提取更改。所以我做了一个git stash
- 现在我做一个 git pull origin master 这会 pull 所有新的更改
- 现在我做了一个git stash pop,它提示说存在 merge 冲突,我修复了它们
- 现在,当我执行 git diff app/models/medicine.rb 时,我没有看到我 stash 在 diff 中的任何更改。此外,当我执行 git log 时,我没有看到我的工作在任何地方提交。
所以看起来我正在处理的那些更改已经提交,我没想到会发生这种情况。我想进一步工作,然后进行提交。那么我对 stash 的理解是错误的吗?如果我有一个用例,我正在做某事然后我还没有准备好提交但想 pull 然后继续进一步工作然后提交,那么正确的 git 进程是什么?另一个副作用是我现在藏起来的工作没有 sha,假设我想在某个时候回到我的工作或挑选我的工作没有办法做到这一点。我什至没有在我的 git 日志中看到它。非常感谢任何反馈。
最佳答案
更改未提交,但已暂存。要查看它们,请执行 git diff --cached
。要取消暂存它们,请执行 git reset
。
关于git - stash 然后 pop 在 git 中执行自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15251295/