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 

 --