1

我使用 git 在我的存储库中提交更改,

遵循这些步骤

git add .
git commit -m "message"

但注意到在存储库中也存在更改的文件的克隆新文件~在末尾附加了“”符号。

为什么会这样?以及将来如何防止它?
还有一些关于如何用“~”删除文件的想法会很棒

谢谢

4

3 回答 3

8

您的编辑器正在生成格式为 FILENAME~ 的备份文件。(Emacs 会这样做;否则可以说服它。)您没有要求 git 忽略以 ~ 结尾的文件。随着git add .您告诉 git 添加您没有要求它忽略的所有内容。

参见: gitignore

于 2009-04-29T11:08:43.407 回答
8

要完成bendin的回答,请在您的工作目录中添加一个.gitignore文件,例如:

*~
*.bak
*.old

必须添加并提交该 .gitignore 文件才能通过 ' git clone' 持续存在,因为存在多个级别的 'gitignore'

于 2009-04-29T11:13:16.300 回答
0

还有一些关于如何用“~”删除文件的想法会很棒

使用 gitignore 您可以忽略尚未跟踪的文件,但是如果您添加了一个文件,然后在您的 .gitignore 中匹配它,它仍然会在内容更改时标记为已更新。

因此,从未来的提交中删除它的方法是使用:

git rm *~

另一方面,如果您想从旧提交中删除临时文件,您应该查看git filter-branch。如果您已经发布了您的 repo,请小心,因为此命令会重写历史记录,因此请备份您的 repo 并注意如果您选择这种方式,您正在做什么。

于 2009-05-03T04:59:50.857 回答