我使用 git 在我的存储库中提交更改,
遵循这些步骤
git add .
git commit -m "message"
但注意到在存储库中也存在更改的文件的克隆新文件~
在末尾附加了“”符号。
为什么会这样?以及将来如何防止它?
还有一些关于如何用“~”删除文件的想法会很棒
谢谢
您的编辑器正在生成格式为 FILENAME~ 的备份文件。(Emacs 会这样做;否则可以说服它。)您没有要求 git 忽略以 ~ 结尾的文件。随着git add .
您告诉 git 添加您没有要求它忽略的所有内容。
参见: gitignore
要完成bendin的回答,请在您的工作目录中添加一个.gitignore
文件,例如:
*~
*.bak
*.old
必须添加并提交该 .gitignore 文件才能通过 ' git clone
' 持续存在,因为存在多个级别的 'gitignore'。
还有一些关于如何用“~”删除文件的想法会很棒
使用 gitignore 您可以忽略尚未跟踪的文件,但是如果您添加了一个文件,然后在您的 .gitignore 中匹配它,它仍然会在内容更改时标记为已更新。
因此,从未来的提交中删除它的方法是使用:
git rm *~
另一方面,如果您想从旧提交中删除临时文件,您应该查看git filter-branch。如果您已经发布了您的 repo,请小心,因为此命令会重写历史记录,因此请备份您的 repo 并注意如果您选择这种方式,您正在做什么。