1

伙计们,

我对 git 的存储有点陌生,所以我可能在这里遗漏了一些基本的东西,这就是我正在做的事情:

  • 我在我的 master 分支上,我一直在处理文件 app/models/medicine.rb ,我想从我的同事推送的 master 中提取更改。所以我做了一个git stash
  • 现在我做了一个git pull origin master这会拉出所有新的变化
  • 现在我做了一个git stash pop,它抱怨我修复了合并冲突
  • 现在,当我执行git diff app/models/medicine.rb时,我看不到任何我隐藏在 diff 中的更改。此外,当我执行git log时,我看不到我的工作在任何地方提交。

所以看起来我正在处理的那些更改已经提交,我没想到会发生这种情况。我想进一步工作,然后做一个提交。那么我对 stash 的理解是错误的吗?如果我有一个用例,我正在做某事,然后我还没有准备好提交,但想要拉,然后继续进一步工作,然后进行提交,那么正确的 git 进程是什么?另一个副作用是我现在隐藏的工作没有 sha,假设我想在某个时候回到我的工作或挑选我的工作,没有办法做到这一点。我什至没有在我的 git 日志中看到它。非常感谢您的任何反馈。

4

1 回答 1

5

更改未提交,但已暂存。要看到它们,请执行git diff --cached. 要取消暂存它们,请执行git reset.

于 2013-03-06T15:27:55.517 回答