docs-onboarding/know-how/git-commands.md
2024-08-14 09:58:51 +02:00

2.2 KiB

Git Commands

Random Ideas

Kart: DVC for geospatial and tabular data. Git for GIS, Discussion, Go to Post from 2023-10-30T20:40:06

Use KeePassXC to sign your Git commits

Git Commands and Examples

Create a new branch locally within an already cloned repository:

git checkout -b <branch-name>

Delete a local branch:

git branch -d <branch-name>

Rebase onto the main branch:

git fetch
git rebase origin/main
git push origin HEAD -f

Abort a rebase:

git rebase --abort

Stash changes:

git stash
git stash pop

Revert a commit:

# Should work if only 1 commit was made
git reset --soft HEAD~1

# More forceful approach:
git revert cb7cf15b54ff09495201244b070d18d96d4703ce
git reset --hard HEAD~2

Show changes between two tags:

# Tag from previous version
git tag -a v0.1.0 -m "Release version 0.1.0"

# Add changes
git commit -am "add hint for change log"
# and more

# Add final tag for version
git tag -a v0.2.0 -m "Release version 0.2.0"

# Show diff between tags
git log v0.1.0..v0.2.0 --no-merges --format="%h - %s" --date=short

Git diff log between commits:

git log 79e28d9cef4cc777afc9e5b2569a5d34d9331867..6888fd61ae9d5744effcf27620a645e1750cbafc --no-merges --format="%h - %s (%an, %ad)" --date=short

Debug SSH connection via Git:

GIT_SSH_COMMAND="ssh -v"
git pull
unset GIT_SSH_COMMAND

Add executable flag on Windows:

git update-index --chmod=+x git_mirror.sh

Check the remote branch of a cloned repository and change it:

git remote -v

git remote set-url origin xwr@vs-ssh.visualstudio.com:v3/xwr/jambor.pro/app-docker-compose

git remote -v

for branch in $(git branch -r | grep -v '\->'); do
  git checkout ${branch#origin/}
  git push -u origin HEAD
  git push --tags origin
done

Renaming branches:

# Delete remote branch
git push origin --delete wikiMaster

# Delete local branch
git branch -d wikiMaster

# Move branch
git branch -m main wikiMaster

# Push
git push origin HEAD