GIT - cheat sheet
Install (Windows)
https://git-scm.com/
https://desktop.github.com/
set up new repo
(create git repo in web gui first)
git init
git add .gitignore
touch README.md
git add README.md
git remote add myOrigin git@github.com:maxbis/examengesprekken
git push -u origin master
ssh key
add ~/.ssh/id_rsa.pub in git hub web gui
add file
git add <file name>
update repo
git commit -a -m "comment"
git push
Get updated files
git pull
Overwrite local changes
git reset --hard
git pull
New clone - install new
git clone https://github.com/maxbis/examengesprekken
// for Ubuntu server
sudo chgrp -R www-data examengesprekken
Go to older version
git reset --hard 0ad5a7a6.....
Git clear cache (if ignore file is changed)
git rm --cached config
List all tracked files
git ls-tree -r HEAD --name-only
Git issues with .ignore
git rm -r --cached .
git add .
git commit -m "Stop tracking files that are now ignored"
Init new repo
cd path/to/class-cloud
git init
git add .
git commit -m "Initial commit"
<create new repo on githib>
git remote add origin https://github.com/maxbis/class-cloud.git
git push -u origin master
<on Linux>
git clone https://github.com/maxbis/class-cloud.git
Set Remote Git && Check git remote
SSH key
ssh-keygen -t ed25519 -C "your_email@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
git remote set-url origin git@github.com:USERNAME/REPO.git
git remote -v
Test Connection
ssh -T git@github.com
Local repo
set up new repo
Init nieuwe repo
In /srv/repo
mkdir <REPO>
git init --bare --initial-branch=main <REPO>
Set up hook script for auto deployments
In /srv/repo/<REPO>/hooks/
ln -s /srv/git/.scripts/post-receive .
Local
git remote set-url qool ssh://<user>@<server>:1611/srv/git/<project>
git push -u qool main
post-receive
The name of the git repostitory is the name of the directory in the document root.
#!/bin/bash
set -euo pipefail
#NAME="imposer"
GIT_DIR="$(git rev-parse --absolute-git-dir)"
NAME="$(basename -- "$GIT_DIR")"
TARGET="/var/www/qool/${NAME}"
BRANCH="main"
GIT_DIR="/srv/git/${NAME}"
while read -r oldrev newrev refname; do
if [ "$refname" = "refs/heads/$BRANCH" ]; then
echo "Deploying $BRANCH to $TARGET..."
git --git-dir="$GIT_DIR" --work-tree="$TARGET" checkout -f "$BRANCH"
# optional: composer install, cache clear, reload apache, etc.
# cd "$TARGET" && composer install --no-dev
# sudo systemctl reload apache2
fi
done
--