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 commiting 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: The '_ide' folders should be ignored as these folders
will be automatically generated when a new workspace is loaded within the Vitis Unified IDE.
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 and
is used to manage compatibility across different IDE versions. It should be
committed for source controlNote: The
settings.json
file stores workspace-specific settings and preferences tailored to the workspace
owner's environment. Because it reflects personal configurations, it is not
recommended to commit this file to source control.Note: The .gitignore file specifies which files
and directories Git should ignore in a project. It should be committed to source
control to 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. This file is not needed for 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. This
folder can be easily regenerated by clicking Switch/Re-read XSA
File in the Platform
Settings page. Therefore, it is not required to be
committed 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 (for example, for sharing or archiving
purposes), use the -f
(force) option with Git, as
shown
below:git add build/* -f
Note: The compile_commands.json file
contains the compiler commands used to build the application source files. It is
automatically generated when the build process starts and is not required to be
committed to source control.
Note: The launch.json file, located
under the _ide/ folder, stores user-defined debug
configurations. Because it reflects personal preferences and environment-specific
settings, it is typically not recommended to 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,
located under the _ide/ folder, stores user-defined debug
configurations. Because it reflects personal preferences and environment-specific
settings, it is typically not recommended to commit this file to source
control.