我使用git在我的存储库中提交更改,
遵循这些步骤
git add .
git commit -m "message"
但注意到文件的克隆,其中进行了更改,也存在于存储库中
新文件末尾附加了“~
”符号。
为什么会这样?我怎么能在将来阻止它呢? 另外一些关于如何用“〜”删除文件的想法会很棒
由于
答案 0 :(得分:8)
您的编辑器正在生成FILENAME~形式的备份文件。 (Emacs这样做;否则可以说服它。)你没有要求git忽略以〜结尾的文件。使用git add .
,你告诉git添加你没有要求它忽略的所有内容。
另见: gitignore
答案 1 :(得分:8)
要完成bendin's answer,请在工作目录中添加.gitignore
文件,例如:
*~
*.bak
*.old
由于存在several levels of 'gitignore',因此必须添加并提交.gitignore文件才能保持“git clone
”。
答案 2 :(得分:0)
关于如何用“〜”删除文件的一些想法会很棒
使用gitignore,您可以忽略尚未被跟踪的文件,但如果您添加了一个文件,并且稍后在.gitignore中将其匹配,则在内容发生更改时,它仍会被标记为已更新。
因此,从未来的提交中删除它的方法是使用:
git rm *~
另一方面,如果要从旧提交中删除临时文件,则应查看git filter-branch。如果您已经发布了您的仓库,请小心,因为此命令会重写历史记录,因此请备份您的仓库,并在选择此方式时了解您正在执行的操作。