我目前正在尝试在 git 上设置 Xilinx Vivado 项目。问题是 Vivado 使用了大量烦人的文件,我不想在文件 diff 中看到这些文件。我希望能够在其他地方克隆该项目并让它正常工作。所以我不仅想跟踪源文件,而且只想查看文件 diff 中的源文件。如何才能做到这一点?
3 回答
添加一个名为.gitignore
您的项目的文件。此文件包含要忽略的文件和目录的列表。例如,要在代码中忽略 path/to/images 目录中的所有文件,请添加以下行
/path/to/images
到.gitignore
文件。要忽略文件 images/awesome_photo1.jpg 只需添加该行
/images/awesome_photo1.jpg
如果您已经将这些文件添加到您的存储库,您可以删除它们而不使用命令删除它们
git rm --cached file_to_ignore
所以我不只是想跟踪源文件,而是只想在文件差异中查看源文件。
我知道您仍希望跟踪这些 Vivado 文件,因此它们仍被添加到存储库中并保留其中的更改等,但不希望在查看差异时看到这些文件中的更改。
一般来说,这是不可能的,因为 Git 不知道某个文件是什么类型,无论它是否与您相关。Git 对待每个文件都是一样的,所以你会看到所有文件类型的变化。此外,很多时候,即使它不是源文件,系统也可能需要其他文件才能正常运行,即使该文件不是真正的源文件。在这种情况下,您要确保其中的更改也不会中断,因此您最终也确实希望查看这些差异。
你不能限制 Git 在 diff 中显示的文件类型,但你可以告诉 Git 只显示某个文件路径的 diff。例如,如果您将所有源文件都放在一个目录src
中,那么您可以告诉 Git 只显示该文件夹中文件的差异:
git diff -- src/
除此之外,在向 Git 询问差异时,无法关闭某些文件的差异。如果您仍想跟踪这些文件并将它们添加到您的文件中,至少不是这样.gitignore
。
自从你
您应该从源文件(*.vhd?、*.v、*.sdc)和 vivado 项目文件开始。
Git 能够忽略完整的子文件夹,例如临时文件夹或生成的 IP 核心文件夹。
- 将所有源文件和项目文件添加到本地 git 存储库并
- 提交他们。
- 将其克隆到第二个临时文件夹中,然后
- 打开 Vivado 项目。
如果它打开并且所有文件都在那里,那没关系。否则:
- 添加丢失的文件。
- 提交它并
- 将其拉入临时 git。
- 如果缺少更多文件,请再做一次 => 转到 5。