我错误地使用命令将文件添加到git:
git add myfile.txt
Run Code Online (Sandbox Code Playgroud)
我还没跑git commit.有没有办法撤消这个,所以这些文件不会包含在提交中?
到目前为止有48个答案(有些已删除).除非您有一些新信息,否则请不要添加新的.
我在我的机器上设置了一个本地git.当我初始化git时,我添加了预编译的库和二进制文件.但是,现在在开发过程中,我不想间歇性地检查这些文件.我不想从repo中删除这些文件.在完成开发之前,有没有办法不跟踪这些文件.(我想我不能使用.gitignore,因为它仅适用于那些不在git中的文件.我想暂时禁用文件跟踪.)
我不小心添加了很多临时文件 git add -A
我设法使用以下命令取消暂存文件,并设法删除脏索引.
git ls-files -z | xargs -0 rm -f
git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
Run Code Online (Sandbox Code Playgroud)
上面的命令列在git help rm.但遗憾的是,我的文件在执行时也被删除了,即使我已经给出了缓存选项.如何在不丢失内容的情况下清除索引?
如果有人能解释这个管道操作的工作方式,也会有所帮助.
假设在由git版本化的项目中进行了两组更改.一套是上演的,另一套则没有.
我想通过在此状态下运行我的项目(在提交之前)来重新检查暂存的更改.什么是简单的方法来收起所有未分阶段的变化并且只留下上演?所以我需要从我的项目中消失的非分段更改,但是要存储在某个地方以便进一步工作.
这听起来非常像git stash命令.但是git stash会将未分阶段和分阶段的更改从我的项目中移除.我找不到类似的东西git stash uncached.