gpt4 book ai didi

git - 在 Git 中管理由 IDE 创建的临时文件

转载 作者:太空狗 更新时间:2023-10-29 13:52:50 24 4
gpt4 key购买 nike

目前我正在使用 Atmel 的 AVR Studio 7.0(基于 VS2015-shell),当涉及到在 IDE 运行时创建的临时文件时,它有一些奇怪的行为。在进一步讨论之前,我想说我对 Atmel Studio 的潜在问题不感兴趣,这对于不同的网站来说是一个不同的问题。相反,我将询问如何在短期内处理这种行为,即管理我存储库中的文件。

所以无论如何,我将解释发生了什么,以便让我了解我正在处理的事情。在 Atmel Studio 中创建的每个 C++ 项目都有一个与之配套的解决方案(.atsln 文件)。然后,每个解决方案都有一个 .atsuo 文件。每次关闭解决方案时,.atsuo 文件都会被修改。我的问题是,我正在尝试将所有内容 checkin 存储库,但 checkin 该文件并没有任何意义,因为即使我只打开项目一次,运行它,然后关闭它,它也会发生变化......

现在,让我开始真正精彩的部分...尽管我很想检查 .atsuo 文件,但我被迫到...如果 .atsuo 文件被删除,那么解决方案文件将不再有效,我会收到“Atmel AVR Studio 7.0 已停止工作...”然后崩溃。因此,如果我不想每次都必须构建一个新的解决方案,就好像我被迫 checkin 该文件一样!但我不想,因为它一直在变化!!!

我到底该怎么做才能在 Git 中管理这个文件?

更新

归根结底,.atsuo 的更改内容不会造成任何伤害。

最佳答案

.atsuo 文件基于 Visual Studio .suo Solution User Options文件。这些文件包含用户级设置,如打开工具窗口和设置断点,不应将其 checkin 存储库。 Atmel 扩展了格式并在其中保留了一些其他内容,导致每次编译时该文件都会发生变化。这是不 checkin 此文件的第二个很好的理由。离开它会产生非常嘈杂的提交,并使您与之共享代码的任何人都感到痛苦。

如您所述,Atmel Studio 需要此文件才能正常运行,因此与其删除它,不如将其添加到您的 .gitignore 文件中,这样 Git 将永远不会跟踪它。 (尽管如此,由于您现在已经 checkin 了它,因此您需要将其从 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 文件 merge 到 github/gitignore 项目的社区支持部分。

https://github.com/github/gitignore/blob/master/community/embedded/AtmelStudio.gitignore

关于git - 在 Git 中管理由 IDE 创建的临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42680120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com