目前我正在使用Atmel的AVR Studio 7.0(基于VS2015-shell),当涉及IDE运行时创建的临时文件时,它有一些时髦的行为。在进一步讨论之前,我想说我对Atmel Studio的潜在问题不感兴趣,对于不同的网站来说这是一个不同的问题。相反,在管理我的存储库中的文件方面,我将询问如何处理短期内的行为。
所以无论如何,我会解释会发生什么,以便了解我正在处理的事情。在Atmel Studio中创建的每个C ++项目都有一个与之相关的解决方案(.atsln
文件)。然后,每个解决方案都是.atsuo
文件。每次解决方案关闭时,.atsuo
文件都会被修改。我的问题是我试图将所有内容都检查到存储库中,检查该文件并没有多大意义,因为即使我只打开一次项目,运行它并关闭它,它也会改变...
现在,让我谈谈真正好的部分......尽管我只想不检查.atsuo
文件,我被迫......如果.atsuo
文件被删除,那么解决方案文件将无法再次运行,我将得到“Atmel AVR Studio 7.0已停止工作......”然后崩溃。所以,如果我不想每次都要构建一个新的解决方案,我就被迫检查该文件!但我不想因为它不断变化!!!
我该怎样做才能在Git中管理这个文件?
更新
在一天结束时,.atsuo
的更改内容不会造成任何伤害。
答案 0 :(得分:4)
.atsuo
文件基于Visual Studio .suo
Solution User Options文件。这些文件包含用户级别设置,如打开工具窗口和设置断点,不应检入存储库。 Atmel扩展了格式并在其中保留了一些其他内容,导致每次编译时都会更改此文件。这是第二个非常好的理由不检查这个文件。离开它会产生非常嘈杂的提交,并使你分享代码的任何人都感到痛苦。
正如您所指出的,Atmel Studio需要此文件才能正常运行,因此不要将其删除,而是将其添加到.gitignore
文件中,以便Git永远不会跟踪它。 (虽然,既然你现在已经检查了它,你就需要将它从你的Git存储库中删除并告诉git停止跟踪它。git rm --cached path/to/projectName.atsuo
应该这样做。)
此处the .gitignore file I use for my Atmel Studio projects。
#Binaries
Debug/
Release/
#User Specific Files
*.atsuo
---
几年后,我能够将Atmel Studio的.gitignore
文件合并到github / gitignore项目的社区支持部分。
https://github.com/github/gitignore/blob/master/community/embedded/AtmelStudio.gitignore
答案 1 :(得分:2)
任何版本控制系统中临时和输出文件的技巧都是使用“忽略”机制。
在git的情况下,这是通过在名为.gitignore
的git目录树的根目录中创建和添加文件来完成的,该文件可以指定任何和所有特定文件,目录,通配符等。详细信息请输入git help ignore
并进行阅读。