1

我做 git 状态:

# modified:   xxx/yyy/something.PNG
# modified:   xxx/yyy/something-l.PNG

然后 git checkout xxx/yyy/something.PNG 和 xxx/yyy/something-1.PNG 但是当我再次执行 git status 时,它再次显示:

# modified:   xxx/yyy/something.PNG
# modified:   xxx/yyy/something-l.PNG

我正在使用雪豹

谢谢

4

3 回答 3

3

我相当确定您已经剪辑了 git status 的输出。那些修改过的文件位于“要提交的更改”部分。它们在索引中(暂存区);也就是说,你可能在某个时候跑了git add xxx/yyy/something.PNG,或者只是git add .or git add -u

git checkout <path>从索引中检出给定路径的版本,而不是从当前提交中检出。如果要从当前提交返回到版本,请使用:

git checkout HEAD xxx/yyy/something.PNG

HEAD指当前提交。

于 2011-05-17T15:50:25.347 回答
2

也许您已经上演了您的更改。git diff什么都不显示,而git diff --staged 显示您已更改文件。

在这种情况下,您必须使用git reset HEAD xxx/yyy/something.PNG xxx/yyy/something-l.PNG.

否则另一个程序可能会更改文件。

编辑: 根据您在下面的评论,文件的文件模式是755. 因此,Windows 似乎触动了它们。试试chmod 644 xxx/yyy/something.PNG

于 2011-05-17T15:50:13.033 回答
0

我解决了这个问题。我删除.git了子文件夹,/xxx/yyy/现在一切正常。

于 2011-05-18T20:39:07.397 回答