Some useful commands for newbie and pro GitHub User , below a collection i will update regularly .
Using the Github Desktop is fine but many tasks can only be done with the Terminal , as a infrequent user you can easily forget the command Strings you need.
Find big files and add them to the .gitignore file
Find files local that are bigger than 100 MB and ads them to the git ignore
find . -size +100MB | cat >> .gitignore
Remove .DS_Store from your repo and add a global .gitignore so never need to add this rule again
Find all .DS_Store locally in any subfolder and delete it
find . -name ".DS_Store" -delete
For new projects Add following to gitignore
**/.DS_Store
Remove from git only .DS_Store in root only !
git rm --cached .DS_Store
But probably there are more in subfolders. First find all .DS_Store in your local project and delete them
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
Then create a .gitignore_global file with filters .DS_Store and _.DS_Store config git
echo ".DS_Store" >> ~/.gitignore_global
echo "._.DS_Store" >> ~/.gitignore_global
echo "**/.DS_Store" >> ~/.gitignore_global
echo "**/._.DS_Store" >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
Änderungen überprüfen und eine Commit-Transaktion
git status
#Entferne Files und Folder vom Repro
#Entferne ein Files
git rm --cached meinpasswort.txt
# Entferne einen Ordner
git rm --cached -rf meinOrdner
Wegen einer großen Datei, die bereits gelöscht ist, kann ich nicht mehr auf GitHub pushen Um die History wieder zu bereinigen geht man wie folgt vorgit status
Danach sollte das Terminal so eine aehnliche Nachricht zurueckgeben
On branch master Your branch is ahead of 'origin/master' by 21 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean
Der Wichtige Teil sind die "21 commits" Von hier an fuehren wir das Naechste Commando aus
git reset HEAD~
An unserem Beispiel haben wir 21
git reset HEAD~21
Nach dem Ausfuehren sollte GIT Antworten mit
On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean
Von hier an ist es einfach die zu Grossen Files loeschen oder in gitignore hinzufuegen mit dem Oben erwaehnten Commando. Nun koennen wir wieder frisch Commiten ohne arbeit zu verlieren.