最近开始使用git…刚注意到我文件的克隆,最后附加了'〜'…为什么会发生这种情况

StackOverflow https://stackoverflow.com/questions/801840

  •  03-07-2019
  •  | 
  •  

我使用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 。如果您已经发布了您的仓库,请小心,因为此命令会重写历史记录,因此请备份您的仓库,并在选择此方式时了解您正在执行的操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top