Create, Clone, Add
The basic XetHub workflow is one that mirrors the typical Git workflow. Xet repositories are created through the XetHub web UI. Initialize a new empty Xet repository and clone it to start from scratch, or clone an existing Xet repository to build on existing work.
Make sure that you have installed the git-xet extension prior to running these steps.
Create a Xet repository
After logging in to XetHub, use the
+dropdown in the top right corner of any page to create a new Xet repository.
Add a name and description to your repository, choose its visibility, and click
Create Xet repository.
Clone a Xet repository
Cloning Xet repositories should automatically support the tracking of code with large assets. Make sure that you have already installed the git-xet extension.
For a full clone of any XetHub repository, copy the Xet URL and clone from your terminal:
git xet clone <Xet URL> <destination folder>
Working with huge repositories
If you only need to work with a subset of files within a huge repository, you can clone the entire repository without materializing any large files to save disk space and download time. The following command checks out a repository, but keeps all files that are non-UTF-8 decodeable or larger than 256KB as pointer files:
git xet clone --no-smudge <Git remote URL>
Once the repository is cloned, you can individually "smudge" the pointers into full files:
git xet checkout <pointers>
And "unsmudge" them to return full files to pointers:
XET_NO_SMUDGE=1 git checkout <files>
Git allows you to choose what files are tracked and how to associate them with any commit. Running
git add on a file moves that file to be staged for inclusion in the next commit.
Before staging any files, double check your repository and any changes in it:
Mark any files you would like to associate with the next commit, explicitly staging them:
git add <file or path>
If you are confident about adding all modified files in the repository, you can stage all new, modified, and deleted files that are not listed in
git add .
Check the state of the repository again to make sure that the expected files were moved to staging:
If needed, undo an add by moving all staged changes back out with: