-1

我目前正在尝试在 git 上设置 Xilinx Vivado 项目。问题是 Vivado 使用了大量烦人的文件,我不想在文件 diff 中看到这些文件。我希望能够在其他地方克隆该项目并让它正常工作。所以我不仅想跟踪源文件,而且只想查看文件 diff 中的源文件。如何才能做到这一点?

4

3 回答 3

3

添加一个名为.gitignore您的项目的文件。此文件包含要忽略的文件和目录的列表。例如,要在代码中忽略 path/to/images 目录中的所有文件,请添加以下行

/path/to/images

.gitignore文件。要忽略文件 images/awesome_photo1.jpg 只需添加该行

/images/awesome_photo1.jpg

如果您已经将这些文件添加到您的存储库,您可以删除它们而不使用命令删除它们

git rm --cached file_to_ignore
于 2016-01-10T23:11:12.510 回答
2

所以我不只是想跟踪源文件,而是只想在文件差异中查看源文件。

我知道您仍希望跟踪这些 Vivado 文件,因此它们仍被添加到存储库中并保留其中的更改等,但不希望在查看差异时看到这些文件中的更改。

一般来说,这是不可能的,因为 Git 不知道某个文件是什么类型,无论它是否与您相关。Git 对待每个文件都是一样的,所以你会看到所有文件类型的变化。此外,很多时候,即使它不是源文件,系统也可能需要其他文件才能正常运行,即使该文件不是真正的源文件。在这种情况下,您要确保其中的更改也不会中断,因此您最终也确实希望查看这些差异。

你不能限制 Git 在 diff 中显示的文件类型,但你可以告诉 Git 只显示某个文件路径的 diff。例如,如果您将所有源文件都放在一个目录src中,那么您可以告诉 Git 只显示该文件夹中文件的差异:

git diff -- src/

除此之外,在向 Git 询问差异时,无法关闭某些文件的差异。如果您仍想跟踪这些文件并将它们添加到您的文件中,至少不是这样.gitignore

自从你

于 2016-01-10T23:52:16.460 回答
1

您应该从源文件(*.vhd?、*.v、*.sdc)和 vivado 项目文件开始。

Git 能够忽略完整的子文件夹,例如临时文件夹或生成的 IP 核心文件夹。

  1. 将所有源文件和项目文件添加到本地 git 存储库并
  2. 提交他们。
  3. 将其克隆到第二个临时文件夹中,然后
  4. 打开 Vivado 项目。

如果它打开并且所有文件都在那里,那没关系。否则:

  1. 添加丢失的文件。
  2. 提交它并
  3. 将其拉入临时 git。
  4. 如果缺少更多文件,请再做一次 => 转到 5。
于 2016-01-10T23:47:22.060 回答