The Vitis workspace contains both metadata and source/build files; however, not all of these files need to be tracked in Git. The workspace root requires the .gitignore file. This file specifies the following files and folders to ignore when committing your workspace to Git:
- Build output directory
- Object files
- Dependent files
- Logs folder and log files
- Lock files
For more information on .gitignore, see
https://git-scm.com/docs/gitignore.
Note: Ignore the '_ide'
folders. When you load a new workspace in the Vitis Unified IDE, the system automatically generates these
folders.
Therefore, the recommended files to track in Git are as follows:
Workspace Folder
| Files | Required for Source control |
|---|---|
| _ide/version.ini | Yes |
| _ide/setting.json | Depends on the user |
| _ide/worspace_journal.py | No |
| .gitignore | Yes |
Note: The version.ini
file contains version information for your workspace. You can use it to manage
compatibility across different IDE versions. Commit this file in source
control.
Note: The settings.json file stores
workspace-specific settings and preferences tailored to the workspace owner's
environment. Because it reflects personal configurations, do not commit this file to
source control.
Note: The .gitignore
file specifies the files and directories that Git ignores in a project. Commit this
file to source control. Ensure all team members follow the same rules for excluding
temporary, build, or user-specific files from version tracking.
Note: The workspace journal file logs actions performed
after opening the workspace. It serves as a reference for users to review the Python
commands executed in the background. It is not necessary to commit this file to
source control.
Platform Folder
| Files | Required for Source control |
|---|---|
| export | No |
| hw/hw.xsa | Yes |
| hw/sdt | No |
| resources | No |
| vitis-comp.json | Yes |
| .gitignore | Yes |
| psu_cortexa53_0 (BSP) | Yes |
| zynqmp_fsbl (BSP) | Yes |
Note: The
export/ folder
contains the output files generated during platform creation. By default, this
folder is excluded from version control through the .gitignore file. If you need to commit the contents of the export/ folder (for example, for sharing or archiving
purposes), use the -f (force) option with Git, as
shown
below:git add export/* -f
Note: The
hw/sdt/ folder
contains the System Device Tree files used for BSP and device tree generation. You
can regenerate this file by clicking Switch/Re-read XSA
File in the Platform
Settings page. It is not necessary to commit this file to
source control.Note:
psu_cortexa53_0
(BSP) is the standalone Board Support Package (BSP) for the Zynq
UltraScale+ MPSoC A53
core. For Versal devices, the APU core name differs
— take note when selecting or creating BSPs.Applications Folder
| Files | Required for Source control |
|---|---|
| src | Yes |
| build | No |
| vitis-comp.json | Yes |
| compile_commands.json | No |
| _ide/launch.json | Depends on the user |
| .gitignore | Yes |
Note: The
build/ folder
contains the output files generated during application building. By default, this
folder is excluded from version control through the .gitignore file. If you need to commit the contents of the export/ folder, use the -f (force) option with
Git:git add build/* -f
Note: The compile_commands.json file contains the compiler commands used to
build the application source files. The system automatically generates this file
when the build process starts. You do not need to commit this file to source
control.
Note: The launch.json file, located under the _ide/ folder, stores user-defined debug configurations. The file
reflects personal preferences and environment-specific settings. Do not commit this
file to source control.
System Project Folder
| Files | Required for Source control |
|---|---|
| vitis-sys.json | Yes |
| _ide/launch.json | Depends on the user |
| .git ignore | Yes |
Note: The launch.json file is located under the _ide/ folder. The file stores user-defined debug configurations. It
reflects personal preferences and environment-specific settings. Do not commit this
file to source control.