Table of Contents

Snippets: Git

← Zurück zu :snippets:start

Ein neues Projekt-Repository erstellen

Git-Repo

mkdir awesome-project
cd awesome-project
git init
 
echo '# My Awesome Project' > README.md
git add README.md
git commit -m "Initial commit."
 
git remote add origin "git@github.com:user/repo.git"
git push -u origin main

README.md & LICENSE

TODO!
# Grundstruktur für ein einfaches README
echo '# My Awesome Project
 
- Links to your website or an online demo.
 
This program does some awesome stuff. Describe the most important aspects.
 
## Requirements
 
- GNU/Linux, macOS or FreeBSD
- Python 3.10
- At least 10GB disk space
 
## Installation
 
Describe the steps required to install your awesome program.
 
Start with easy instructions for package managers or a Windows installer, after that you can show how to install it from the Git repository or things like *pip* or *Cargo*.
 
## Get help and/or report bugs
 
- How can users get support? Maybe from an official Discord- or IRC-Channel?
- Your Mastodon account
- How to report bugs? You can enable GitHub Issues and discuss bug reports, feature requests or let other developers submit changes after you review them.
' > README.md

Die LICENSE-Datei sollte den vollständigen Text der verwendeten Lizenz enthalten. Dieser kann z.B. von choosealicense.com kopiert werden, dort ist auch zu jeder Lizenz ein kurzer Überblick der Bedingungen als Orientierung zu finden.

Praktischer Nebeneffekt: GitHub zeigt neben der Projektbeschreibung einen Link zu der Datei an, und bei unterstützten Lizenzen zusätzlich eine Übersicht wie auf choosealicense.com.

Alternativ kann auch mit wget und sed eins der Templates aus github.com/licenses/license-templates angepasst und als LICENSE-Datei gespeichert werden. Hier z.B. für die MIT-Lizenz:

YEAR=$(date +%Y)
OWNER="Your name"
 
wget -q -O- \
	"https://raw.githubusercontent.com/licenses/license-templates/refs/heads/master/templates/mit.txt" \
	| sed "s/{{ year }}/${YEAR}/" \
	| sed "s/{{ organization }}/${OWNER}/" \
	> LICENSE

.gitignore

TODO

Einen leeren Branch erstellen

Normalerweise werden neue Git-Branches von einem vorhandenen Commit abgespalten, um z.B. neue experimentelle Features getrennt vom main-Branch zu entwickeln und diese erst später wieder mit diesem zusammen zu führen.

In einzelnen Fällen will man aber bei Null anfangen und eine komplett getrennte Commit-History haben; z.B. für eine über GitHub Pages gehostete Webseite.

Dafür wird zu einem sogenannten orphaned branch gewechselt, und alle vorhandenen Dateien im Repository werden gelöscht. Deshalb empfiehlt es sich das Repository neu zu klonen:

# Repository klonen
git clone git@github.com:user/repo.git repo-gh-pages
cd gh-pages
 
# Branch erstellen
git checkout --orphan gh-pages
git rm -rf .
 
# Eine index.html für den ersten Commit erstellen.
# -> Ich bevorzuge es zumindest eine Überschrift zu haben, aber die Datei kann auch genauso gut leer bleiben.
echo '<h1>My Awesome Project</h1>' > index.html
 
# Ersten Commit im neuen Branch erstellen und zu origin senden
git add index.html
git commit -m "Inital placeholder website"
git push -u origin gh-pages