在太晚的时候使用.git/info/exclude进行工作
在太晚的时候使用.git/info/exclude进行工作
我通常这样操作:
git init git add . git commit .
然后我意识到它要添加我的nbproject目录,而我想要将其排除/忽略掉。有时候,我甚至会将该目录检入。如果在运行git add之前将其添加到.git/info/exclude中,一切都正常(它被排除了)。
所以我修改.git/info/exclude,但为时已晚。git不再遵守对.git/info/exclude的更改。
所以问题是:
- 如何使git在提交时接受exclude文件的更改?(我尝试重新运行git add .,但没有帮助)
- 假设我检入了一个我想要排除的目录(或文件)。为了达到我想要的状态,最少需要多少步骤(排除该文件)。
当你添加了但没有提交的文件时,要删除这个文件,可以使用以下命令:git rm --cached file.to.remove
,这将从索引中删除该文件,但不会触及磁盘上的文件。如果要从最近的提交中删除文件(或文件),可以使用上述git rm --cached
命令,然后使用git commit --amend
命令。
索引是指下一次提交操作中将提交到存储库的暂存区。通过git reset
或git reset --mixed
命令,将文件重置为HEAD状态,而git rm --cached
命令会从索引中删除文件,但不会触及工作树中的文件。区别在于如果之后执行git commit
操作,重置不会更改存储库中的文件,而git rm
会从存储库中删除文件。
以上是对问题的解决方法和相关命令的介绍。