Command | Description |
---|---|
git --version | Check Git version |
Command | Description |
---|---|
ssh- | Generate ssh key |
FILE-PATH /.ssh/ADD HERE HOST NAME | Enter the file in which to save the key |
Command | Description |
---|---|
cat ~/.ssh/ADD HERE HOST NAME .pub | show ssh key |
cat ~/.ssh/config | List of all host and identity files |
vi ~/.ssh/config | Open the SSH client configuration file in the Vi text editor |
touch config | Create config file |
Command | Description |
---|---|
type FILE-PATH .ssh\ ADD HERE HOST NAME .pub | show ssh key (window) |
notepad FILE-PATH .ssh\ ADD HERE HOST NAME .pub | show ssh key (window) |
code FILE-PATH .ssh\ ADD HERE HOST NAME .pub | show ssh key |
New-Item -Name config | Create config file with Powershell |
notepad -Name config | Open config file with notepad and Add Configurations |
Generating public/private rsa key pair.
</br>Enter file in which to save the key (C:\Users\admin/.ssh/id_rsa): "ADD HERE HOST NAME"
Host .com-`SET HOST`
HostName .com
User git
IdentityFile ~/.ssh/`ADD HERE HOST NAME`
IdentitiesOnly yes
Command | Description |
---|---|
git config --global user.name USER-NAME | set Global configuration of User Name and also check config without adding USER-NAME |
git config --global user.email USER-EMAIL | Set Global configuration of User Email and also check config without adding USER-EMAIL |
git config user.name USER-NAME | Set Username config in particular folder |
git config user.email USER-EMAIL | Set Email config in particular folder |
Command | Description |
---|---|
git clone git@SET HOST :USERNAME /Git-Python-Commands.git | To use a specific SSH key when cloning a project from a different host, you need to update the SSH configuration file (~/.ssh/config) to define a custom host and associate it with the desired SSH key. |
Command | Description |
---|---|
git init | Create an empty Git repository or reinitialize an existing one |
git init --bare | Create a bare Git repository |
git init --template=/path/to/template | Use a custom directory as a template for the repository |
Command | Description |
---|---|
git clone <repository-url> | Clone a repository into a new directory |
git clone --branch <branch-name> <repository-url> | Clone a specific branch from a repository |
git clone --single-branch --branch <branch-name> <repository-url> | Clone only a single branch from a repository |
git clone --depth 1 <repository-url> | Clone a shallow copy of a repository |
Command | Description |
---|---|
git remote add origin <repository-url> | Add a remote repository named "origin" |
git remote -v | List all remote repositories |
git remote rename <old-name> <new-name> | Rename a remote repository |
git remote remove <name> | Remove a remote repository |
git remote set-url origin <new-url> | Change the URL of a remote repository |
git remote show origin | Show information about a remote repository |
git remote prune origin | Remove remote tracking branches no longer on the remote |
git remote update | Fetch updates from all remote repositories |
Command | Description |
---|---|
git branch <branch-name> | Create a new branch |
git branch | List branches (the asterisk denotes the current branch) |
git branch -r | List all remote branches |
git branch -a | List all branches (local and remote) |
git branch --all | List all local and remote branches (alias for git branch -a ) |
git branch -v | Show latest commit on each branch |
git branch --merged | List branches merged into the current branch |
git branch --no-merged | List branches not merged into the current branch |
git branch --contains <commit> | List branches containing a specific commit |
git branch --no-contain <commit> | List branches not containing a specific commit |
git branch --remotes | List remote-tracking branches |
git branch -D <branch-name> | Delete the branch |
git branch -m <old-branch-name> <new-branch-name> | Rename the Branch |
Command | Description |
---|---|
git checkout <branch-name> | Switch to the specified branch |
git checkout -b <new-branch> | Create and switch to a new branch |
git checkout -b <new-branch> <start-point> | Create a new branch from a specific commit or branch |
git checkout - | Switch to the branch last checked out |
git checkout -- <filename> | Restore a specific file from the last commit |
git checkout -p | Interactively choose individual changes to restore |
git checkout -q | Quiet mode - suppress output |
git checkout -f | Force checkout |
git checkout --detach | Detach HEAD from any branch, checking out a specific commit |
git checkout -B <branch> [<start-point>] | Create or reset a branch to a specific commit |
Command | Description |
---|---|
git switch <branch-name> | Switch to the specified branch |
git switch -c <new-branch> | Create and switch to a new branch |
git switch -d <branch-name> | Delete a branch |
git switch -r | Switch to a remote branch |
git switch -f <branch-name> | Force switch to a branch, discarding changes |
git switch -t <remote-branch> | Switch to a tracking remote branch |
git switch -c <new-branch> <start-point> | Create a new branch based on a specific commit |
git switch -c <new-branch> <start-point> | Create a new branch based on a specific commit |
Command | Description |
---|---|
git status | Show the working tree status |
git status -s | Show short status |
git status -b | Show the branch information along with status |
git status --ignored | Show ignored files |
git status --porcelain | Show output in a machine-readable format |
git status --untracked-files=<mode> | Control handling of untracked files |
Command | Description |
---|---|
git add filename.txt | Add file contents to the index |
git add -p | Interactively stage changes |
git add . | Add all changes in the current directory |
git add -u | Add modified and deleted files |
git add -A | Add all changes in the entire working tree |
git add -N filename.txt | Add a new file to the index without content |
git add -i | Start an interactive add session |
Command | Description |
---|---|
git commit -m "Commit message" | Record changes to the repository |
git commit -a -m "Commit message" | Stage and commit all modified files |
git commit --amend | Amend the last commit |
git commit --amend --no-edit | Amend the last commit without editing the message |
git commit --signoff | Add a Signed-off-by line to commit messages |
git commit --date="YYYY-MM-DD HH:MM:SS" | Set the commit date |
git commit --allow-empty | Allow an empty commit |
git commit --reuse-message=<commit> | Reuse commit message from a specified commit |
Command | Description |
---|---|
git notes add -m "Note message" <commit-hash> | Add a note to a commit |
git notes show <commit-hash> | Show the notes associated with a commit |
git notes edit <commit-hash> | Edit the notes associated with a commit |
git notes remove <commit-hash> | Remove the notes associated with a commit |
git notes copy <from-commit> <to-commit> | Copy notes from one commit to another |
git notes merge <commit1> <commit2> | Merge notes from two commits |
git notes append -m "Additional message" | Append a message to the existing notes of the current commit |
git notes show-ref | Show the refs that have notes |
git notes prune | Remove notes for commits that no longer exist |
git notes list | List the notes refs |
Command | Description |
---|---|
git log | Show commit logs |
git log --oneline | Show abbreviated commit logs |
git log --graph | Show ASCII graph of branch and merge history |
git log --decorate | Show refs names of any commits in the output |
git log --author=<author> | Show commits by a specific author |
git log --since=<date> | Show commits since a specific date |
git log --until=<date> | Show commits until a specific date |
git log --grep=<pattern> | Show commits with a commit message matching a pattern |
git log --stat | Show commit stats |
git log -- | Show commit diffs |
git log <since>..<until> | Show commits in a range of revisions |
git log --author=<author> --grep=<pattern> | Show commits by a specific author matching a pattern |
Command | Description |
---|---|
git shortlog | Summarize 'git log' output by author |
git shortlog -s | Show commit count only |
git shortlog -n | Sort authors by number of commits (in descending order) |
git shortlog -e | Show email addresses along with author names |
git shortlog -w | Ignore whitespace changes |
git shortlog --since=<date> | Show commits since a specific date |
git shortlog --after=<date> | Show commits after a specific date |
git shortlog --before=<date> | Show commits before a specific date |
git shortlog --no-merges | Exclude merge commits from the summary |
git shortlog --abbrev-commit | Show abbreviated commit hashes |
Command | Description |
---|---|
git push | Push changes to remote repository OR remembered branch |
git push origin master | Push changes to the "master" branch |
git push -u origin <local-branch>:<remote-branch> | Push a local branch to a specific remote branch |
git push origin --delete <remote-branch> | Delete a remote branch |
git push origin --tags | Push tags to the remote repository |
git push origin :<remote-branch> | Delete a remote branch (alternative) |
git push --force origin <branch> | Force push changes to a branch |
git push origin HEAD | Push the current branch |
git push origin --all | Push all branches to the remote repository |
git push origin --mirror | Mirror all refs to the remote repository |
git push --set-upstream origin branch-name | Set branch to remote repository |
git push -u origin branch-name | Push changes to the remote repository OR remember the branch |
git push -f | Force push a branch to your remote repository |
git push origin +master | Push local changes to the remote master branch |
Command | Description |
---|---|
git revert <commit> | Revert some existing commits |
git revert --no-commit <commit> | Revert changes without committing |
git revert --edit <commit> | Edit the commit message before reverting |
git revert --abort | Abort the revert operation |
git revert HEAD | Revert changes in the last commit |
git revert --no-commit HEAD | Revert changes from the last commit without committing |
git revert --edit HEAD | Edit the commit message before reverting the last commit |
git revert --abort | Abort the revert operation |
git revert --soft HEAD^ | Soft revert changes from the previous commit |
git revert --no-commit --soft HEAD^ | Soft revert changes without committing |
git revert --edit --soft HEAD^ | Edit the commit message before soft reverting |
Command | Description |
---|---|
git reset HEAD <file> | Unstage file(s) from the staging area |
git reset --soft HEAD~1 | Move HEAD to the previous commit, keeping changes |
git reset --mixed HEAD~1 | Move HEAD to the previous commit, unstaging changes |
git reset --hard HEAD~1 | Discard changes and move HEAD to the previous commit |
git reset --merge ORIG_HEAD | Undo a failed merge |
git reset --keep HEAD~2 | Move HEAD to two commits ago, keeping local changes |
Command | Description |
---|---|
git restore <file> | Restore working tree files |
git restore --source=HEAD~2 --staged <file> | Restore staged changes from a specific commit |
git restore --worktree --source=HEAD <file> | Restore a file to the state at the last commit |
git restore --staged <file> | Unstage changes for a specific file |
git restore --source=HEAD --staged <file> | Unstage changes for a specific file from the last commit |
git restore --source=HEAD~2 <file> | Restore a file to the state at a specific commit |
git restore --source=HEAD~2 --staged . | Restore all files to the state at a specific commit |
git restore --source=HEAD --worktree . | Restore all files to the state at the last commit |
git restore --staged . | Unstage all changes for all files |
git restore --source=HEAD --staged . | Unstage all changes for all files from the last commit |
Command | Description |
---|---|
git stash save "Work in progress" | Stash the changes in a dirty working directory away |
git stash list | List all stashed changes |
git stash show | Show the changes in the latest stash |
git stash show -p | Show the representing the changes in the latest stash |
git stash apply | Apply the changes from the latest stash |
git stash apply <stash@{n}> | Apply the changes from a specific stash |
git stash pop | Apply and remove the changes from the latest stash |
git stash pop <stash@{n}> | Apply and remove the changes from a specific stash |
git stash drop | Remove the latest stash |
git stash drop <stash@{n}> | Remove a specific stash |
git stash clear | Remove all stashed changes |
Command | Description |
---|---|
git show-branch | Show branches and their commits |
git show-branch --more=10 | Show more commits |
git show-branch --topic | Group commits by topic |
git show-branch --sha1-name | Show full commit SHA-1 names |
git status | Show the working tree status |
git status -s | Show short status |
git status -v | Show verbose status |
git status --ignored | Show ignored files |
git status --untracked-files=all | Show untracked files |
git status --ignored --untracked-files=all | Show all ignored and untracked files |
Command | Description |
---|---|
git fetch | Download objects and refs from another repository |
git fetch origin | Fetch updates from the remote named "origin" |
git fetch --all | Fetch updates from all remote repositories |
git fetch --prune | Remove remote tracking branches no longer on the remote |
git fetch origin <branch> | Fetch updates for a specific branch from the remote |
git fetch origin <branch>:<local-branch> | Fetch updates for a specific branch and rename it locally |
git fetch --tags | Fetch tags from the remote repository |
git fetch --depth=<depth> | Limit fetching to the specified number of commits back in history |
git fetch --unshallow | Convert a shallow clone to a complete repository |
Command | Description |
---|---|
git merge <branch> | Merge a branch into the current branch |
git merge --abort | Abort the current merge operation |
git merge --continue | Continue the current merge operation |
git merge --no-commit | Perform the merge without creating a commit |
git merge --squash <branch> | Squash all changes from a branch into a single commit |
git merge --strategy=<strategy> <branch> | Specify a merge strategy |
git merge --strategy-option=<option> | Pass an option to the merge strategy |
git merge --no-ff <branch> | Create a merge commit even for fast-forward merges |
git merge --ff-only <branch> | Allow only fast-forward merges |
git merge --no-edit <branch> | Do not open an editor to edit the merge message |
Command | Description |
---|---|
git fetch --prune | Fetch updates and prune deleted remote branches |
git remote prune origin | Remove remote tracking branches no longer on the remote |
git branch --prune | Remove local branches that have been deleted on the remote |
git gc --prune=<mode> | Cleanup unnecessary files and optimize the local repository |
Command | Description |
---|---|
git pull <remote> <branch> | Fetch from and integrate with another repository or a local branch |
git pull --rebase <remote> <branch> | Fetch and rebase from another repository or a local branch |
git pull --ff-only <remote> <branch> | Perform only a fast-forward merge during pull |
git pull --no-commit <remote> <branch> | Fetch and integrate without committing the merge |
git pull --no-rebase <remote> <branch> | Fetch and integrate without rebasing |
git pull --squash <remote> <branch> | Integrate changes as a single squashed commit |
git pull --recurse-submodules=<option> | Update submodules along with the pull operation |
Command | Description |
---|---|
git cherry-pick <commit> | Apply the changes introduced by a specific commit |
git cherry-pick <start>..<end> | Apply the changes from a range of commits |
git cherry-pick --continue | Continue the cherry-pick process after resolving conflicts |
git cherry-pick --abort | Abort the cherry-pick process and return to the pre-cherry-pick state |
git cherry-pick --quit | Stop the cherry-pick process without committing or reverting changes |
git cherry-pick --no-commit <commit> | Apply changes from a commit without committing |
git cherry-pick --edit <commit> | Edit the commit message during cherry-pick |
git cherry-pick --signoff <commit> | Add a Signed-off-by line to the commit message during cherry-pick |
git cherry-pick --strategy=<strategy> <commit> | Use a specific merge strategy during cherry-pick |
Command | Description |
---|---|
git rebase <branch> | Reapply commits on top of another base tip |
git rebase --abort | Abort a rebase in progress |
git rebase --continue | Continue a rebase after resolving conflicts or applying a manually |
git rebase --skip | Skip the current commit and continue with the next one |
git rebase --edit-todo | Edit the todo list during an interactive rebase |
git rebase --onto <new-base> | Rebase commits onto a new base |
Command | Description |
---|---|
git submodule add <repository-url> <path> | Add a new submodule to the repository |
git submodule init | Initialize submodules |
git submodule update | Update submodules |
git submodule update --init | Initialize and update submodules in one command |
git submodule update --recursive | Update submodules recursively |
git submodule update --remote | Update submodules to the latest commit on their remote branch |
git submodule sync | Synchronize submodule URLs |
git submodule foreach <command> | Run a command in each submodule |
git submodule status | Show the status of submodules |
git submodule deinit <submodule-path> | Deinitialize a submodule |
git submodule absorbgitdirs | Move submodule directories into the superproject |
Command | Description |
---|---|
git mv <old-filename> <new-filename> | Move or rename a file, a directory, or a symlink |
git mv <file1> <file2> <directory> | Move multiple files to a directory |
git mv --force <file1> <file2> | Force move, even if the target exists |
git mv --dry-run <file1> <file2> | Perform a dry run, see what would be done |
git mv --verbose <file1> <file2> | Run verbosely, showing files as they are moved |
git mv --quiet <file1> <file2> | Suppress output, only show errors |
git mv --no-checkout <file1> <file2> | Skip checkout and only move/delete |
git mv --index-only <file1> <file2> | Only update the index, not the working directory |
git mv --dry-run --verbose <file1> <file2> | Perform a dry run verbosely |
git mv --force --dry-run <file1> <file2> | Force move in a dry run |
git mv --force --verbose <file1> <file2> | Force move and run verbosely |
Command | Description |
---|---|
git rm <filename> | Remove a file from the working directory and the index |
git rm --cached <filename> | Remove a file from the index only |
git rm -r <directory> | Remove a directory and its contents recursively |
Command | Description |
---|---|
git range-diff <commit1>..<commit2> | Compare two commit ranges |
git range-diff <commit1>..<commit2> <path> | Compare two commit ranges for a specific file or directory |
git range-diff --dual-color <commit1>..<commit2> | Use dual color highlighting for comparison |
git range-diff --color-moved <commit1>..<commit2> | Highlight moved lines during comparison |
git range-diff --stat <commit1>..<commit2> | Show abbreviated statistics for changes |
git range-diff --no-color <commit1>..<commit2> | Disable color highlighting during comparison |
git range-diff --submodule=log <commit1>..<commit2> | Include submodule changes in the comparison |
git range-diff --submodule=short <commit1>..<commit2> | Summarize submodule changes in the comparison |
git range-diff --submodule=diff <commit1>..<commit2> | Show detailed submodule diffs in the comparison |
git range-diff --submodule=short --dual-color <commit1>..<commit2> | Summarize submodule changes with dual color highlighting |
git range-diff --submodule=diff --color-moved <commit1>..<commit2> | Show detailed submodule diffs with moved lines highlighted |
git range-diff --submodule=none <commit1>..<commit2> | Exclude submodule changes from the comparison |
Command | Description |
---|---|
git describe | Describe the current commit with the nearest tag |
git describe --tags | Describe the current commit with the nearest tag, including tags that are not on the commit's history |
git describe --abbrev=<n> | Set the number of hex digits to abbreviate object names |
git describe --contains <commit> | Find the tag that contains a specific commit |
git describe --all | Show all references (not just tags) |
Command | Description |
---|---|
git bundle create <file> <ref> | Create a binary file containing references and objects |
git bundle verify <file> | Check the validity of a bundle file |
git bundle list-heads <file> | List references in a bundle file |
git bundle unbundle <file> <path> | Extract objects and references from a bundle file |
git bundle create --all <file> | Create a bundle with all references |
git bundle create --branches=<pattern> <file> | Create a bundle with references matching a pattern |
git bundle create --tags=<pattern> <file> | Create a bundle with tags matching a pattern |
git bundle create --since=<date> <file> | Create a bundle with references after a certain date |
git bundle create --exclude=<pattern> <file> | Create a bundle excluding references matching a pattern |
git bundle create --stdout <ref>... > <file> | Write a bundle file to standard output |
Command | Description |
---|---|
git clean -n | Dry run: Show which files would be removed |
git clean -f | Force removal of untracked files |
git clean -fd | Force removal of untracked files and directories |
git clean -n -d | Dry run: Show which directories would be removed |
git clean -f -d | Force removal of untracked directories |
git clean -xdf | Force removal of untracked files and directories recursively |
git clean -i | Interactive mode: Choose which untracked files to remove |
git clean -x | Remove ignored files also |
git clean -X | Remove only ignored files |
git clean -e <pattern> | Exclude files matching the specified pattern from removal |
Command | Description |
---|---|
git grep <pattern> | Search for a pattern in files tracked by Git |
git grep -n <pattern> | Show line numbers for matching lines |
git grep -c <pattern> | Show only the count of matching lines |
git grep -l <pattern> | Show only the names of files with matching lines |
git grep -e <pattern> | Specify a pattern using regular expressions |
git grep -i <pattern> | Perform a case-insensitive search |
git grep -w <pattern> | Match whole words only |
git grep -v <pattern> | Invert the match, displaying non-matching lines |
git grep -f <file> | Read patterns from a file |
git grep -L <pattern> | Search for files not matching the pattern |
git grep --recurse-submodules <pattern> | Search in submodules |
Command | Description |
---|---|
git diff | Show changes between commits, commit and working tree, etc |
git diff <commit1> <commit2> | Show changes between two commits |
git diff <file> | Show changes for a specific file |
git diff --staged | Show changes staged for the next commit |
git diff --cached | Show changes staged for the next commit (alias for --staged) |
git diff --name-only | Show only names of changed files |
git diff --color-words | Show word-level differences with color highlighting |
git diff --stat | Show brief diffstat for changes |
git diff HEAD | Show changes between the working directory and the last commit |
git diff HEAD~3..HEAD | Show changes for a commit range |
git diff --color-words <commit1>..<commit2> | Show word-level differences between two commits |
Command | Description |
---|---|
git maintenance start | Start maintenance on the repository |
git maintenance stop | Stop maintenance on the repository |
git maintenance status | Check the status of maintenance operations |
git maintenance pack | Pack loose objects in the repository into pack files |
git maintenance run | Run maintenance tasks on the repository |
git maintenance start-again | Restart interrupted maintenance operations |
Command | Description |
---|---|
git show | Show various types of objects |
git show --name-only | Show only names of changed files |
git show --stat | Show statistics about changes |
git show -- | Show the introduced by the commit |
git show HEAD~3 | Show details of the commit three revisions back |
git show <commit-hash> | Show details of a specific commit |
git show <commit-hash>^ | Show details of the parent of a commit |
git show <commit-hash>^2 | Show details of the second parent of a merge commit |
git show <tag-name> | Show details of a specific tag |
Command | Description |
---|---|
git tag | List all tags |
git tag <tag-name> | Create a lightweight tag |
git tag -a <tag-name> -m "tag message" | Create an annotated tag |
git tag -d <tag-name> | Delete a tag |
git tag -l <pattern> | List tags matching a pattern |
git tag -v <tag-name> | Verify the signature of a tag |
git show <tag-name> | Show information about a tag |
git push origin <tag-name> | Publish a tag to a remote repository |
git push --tags | Publish all tags to a remote repository |
git checkout <tag-name> | Switch to a specific tag |
git tag -a <tag-name> <commit-hash> | Create an annotated tag at a specific commit |
git tag -d $(git tag -l) | Delete all local tags |
git push origin --delete <tag-name> | Delete a tag from a remote repository |
git push --delete origin <tag-name> | Delete a tag from a remote repository (alternative syntax) |
git tag --contains <commit> | List tags containing a specific commit |
git describe --tags | Describe the most recent tag reachable from a commit |
Command | Description |
---|---|
git reflog | Show a log of the Git reference history |
git reflog show <ref> | Show the reflog for a specific reference |
git reflog expire --expire-unreachable=now --all | Prune reflog entries older than the specified time |
git reflog delete <ref>@{<index>} | Delete a specific entry from the reflog |
git reflog delete --expire=<time> | Delete reflog entries older than the specified time |
git reflog expire --expire=now --rewrite --all | Rewrite and prune all reflog entries |
Command | Description |
---|---|
git annotate <file> | Show line annotations for a file |
git annotate -L <start>,<end> <file> | Show annotations for a specific line range |
git blame <file> | Show what revision and author last modified each line |
git blame -L <start>,<end> <file> | Show annotations for a specific line range |
git blame --reverse <file> | Show what revision and author last modified each line (reversed) |
Command | Description |
---|---|
git annotate <file> | Show line annotations for a file |
git annotate -L <start>,<end> <file> | Show annotations for a specific line range |
git blame <file> | Show what revision and author last modified each line |
git blame -L <start>,<end> <file> | Show annotations for a specific line range |
git blame --reverse <file> | Show what revision and author last modified each line (reversed) |
Command | Description |
---|---|
git send-email <options> <rev-list-options> | Send a series of es via email |
git send-email --annotate <options> <rev-list-options> | Annotate the es with details before sending |
git send-email --compose <options> <rev-list-options> | Compose emails interactively before sending |
git send-email --smtp-server=<server> <options> <rev-list-options> | Use a specific SMTP server to send emails |
git send-email --suppress-cc=<address> <options> <rev-list-options> | Suppress CC recipients from emails |
git send-email --no-validate <options> <rev-list-options> | Skip email validation checks |
git send-email --confirm=<number> <options> <rev-list-options> | Confirm email before sending |
git send-email --dry-run <options> <rev-list-options> | Simulate sending emails without actually sending them |
git send-email --confirm=always <options> <rev-list-options> | Always confirm before sending emails |
Command | Description |
---|---|
git citool | Open the Git Commit Tool |
Command | Description |
---|---|
git gc | Cleanup unnecessary files and optimize the local repository |
git gc --auto | Run automatic garbage collection |
git gc --prune | Remove unreachable objects from the repository |
git gc --aggressive | Perform aggressive garbage collection |
git gc --quiet | Run garbage collection quietly (suppress output) |
git gc --auto --quiet | Run automatic garbage collection quietly |
git gc --aggressive --prune | Perform aggressive garbage collection with pruning |
Command | Description |
---|---|
gitk | Open the Git repository browser |
Command | Description |
---|---|
git gui | Launch the Git GUI |
git gui blame <filename> | View file history in Git GUI |
git gui citool | Launch the Git Commit Tool |
git gui browser | Open the Git Repository Browser |
Command | Description |
---|---|
git worktree add <path> <branch> | Create a new working directory linked to a branch |
git worktree list | List all linked working trees |
git worktree lock <path> | Lock a working tree to prevent modifications |
git worktree unlock <path> | Unlock a previously locked working tree |
git worktree prune | Prune stale working tree metadata |
git worktree remove <path> | Remove a linked working tree |
git worktree move <path> <new-path> | Move a linked working tree to a new location |
git worktree add <path> <commit-ish> | Create a new working directory linked to a specific commit |
git worktree add <path> --detach | Create a new working directory linked to HEAD, detached from any branch |
git worktree add <path> <branch> --lock | Create a new working directory linked to a branch and lock it |
git worktree add <path> <branch> --force | Create a new working directory even if the path already exists |
git worktree add <path> <branch> --recurse-submodules | Create a new working directory with submodules initialized |