docs-onboarding/know-how/git-commands
2024-08-12 13:31:25 +02:00

124 lines
2.2 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Git Commands
## Random ideas
[Kart: DVC for geospatial and tabular data. Git for GIS](https://kartproject.org/), [Discussion](https://news.ycombinator.com/item?id=38073512#git), [Go to Post from 2023-10-30T20:40:06](https://social.lansky.name/@hn50/111325898767760054)
[Use KeePassXC to sign your git commits](https://code.mendhak.com/keepassxc-sign-git-commit-with-ssh/)
## Git commands and examples
Create a new branch locally within a already cloned repository:
```bash
git branch -b <branch-name>
```
Delete local branch
```bash
git branch -d <branch-name>
```
Rebase auf main branch:
```bash
git fetch
git rebase origin/main
git push origin HEAD -f
```
Abort rebase:
```bash
git rebase --abort
```
Stash changes
```bash
git stash
git stash pop
```
Revwert a commit:
```bash
# Sollte funktionieren, wenn nur 1 Commit geamcht wurde
git reset --soft HEAD~1
# Eher Brechstange:
git revert cb7cf15b54ff09495201244b070d18d96d4703ce
git reset --hard HEAD~2
```
Show changes beween two tags:
```bash
# tag from previouse 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 vor 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
```bash
git log 79e28d9cef4cc777afc9e5b2569a5d34d9331867..6888fd61ae9d5744effcf27620a645e1750cbafc --no-merges --format="%h - %s (%an, %ad)" --date=short
```
Debug SSH connection via git
```bash
GIT_SSH_COMMAND="ssh -v"
git pull
unset GIT_SSH_COMMAND
```
Add executable flag on windows
```bash
git update-index --chmod=+x git_mirror.sh
```
check the remote branch of a cloned repository and change it
```bash
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
```bash
# 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
```