如何仅显示源文件中的差异



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

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

/path/to/images

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

/images/awesome_photo1.jpg

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

git rm --cached file_to_ignore

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

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

一般来说,这是不可能的,因为 Git 不知道某个文件是什么类型,是否与你相关。Git 对每个文件的处理方式相同,因此您将看到所有文件类型的更改。此外,通常,即使它不是源文件,即使该文件不是真正的源文件,系统也可能需要其他文件才能正常运行。在这种情况下,您希望确保其中的更改也不会中断,因此您最终也希望查看这些差异。

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

git diff -- src/

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

既然你

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

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

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

如果它打开并且所有文件都在那里,那就没问题了。否则:

  1. 添加缺少的文件。
  2. 提交它并
  3. 将其拉入临时 git。
  4. 如果缺少更多文件,请再做一次=>转到5。

最新更新