Git Subtree Cheatsheet

remotes ergänzen

Synopsis:

git remote add –f {remote_name} {repository_url}

Beispiel:

git remote add -f ui git@host.de:path/to/ui.git
git remote add -f templates git@host.de:path/to/templates.git
git remote add -f theme git@host.de:path/to/theme.git
git remote add -f de_de git@host.de:path/to/de_de.git
git remote add -f en_gb git@host.de:path/to/en_gb.git

Die remotes werden der .git/config zugefügt. Das Format sieht in etwa so aus:

[remote "ui"]
	url = git@host.de:path/to/ui.git
	fetch = +refs/heads/*:refs/remotes/ui/*
[remote "templates"]
	url = git@host.de:path/to/templates.git
	fetch = +refs/heads/*:refs/remotes/templates/*
[remote "theme"]
	url = git@host.de:path/to/theme.git
	fetch = +refs/heads/*:refs/remotes/theme/*

Git subtree zufügen

Synopsis:

git subtree add --prefix={path/to/subdir} {remote} [branch] --squash

Beispiel: Subtrees zu zufügen:

mkdir subtree
git subtree add --prefix=subtree/ui git@host.de:path/to/ui.git master --squash
git subtree add --prefix=subtree/templates git@host.de:path/to/templates.git master --squash
git subtree add --prefix=subtree/theme-core git@host.de:path/to/theme.git master --squash
git subtree add --prefix=subtree/de_de git@host.de:path/to/de_de.git master --squash
git subtree add --prefix=subtree/en_gb git@host.de:path/to/en_gb.git master --squash

Updates für subtree abrufen

Synopsis:

git fetch {remote}
git subtree pull --prefix={path/to/subdir} {remote} [branch] --squash

Beispiel:

git fetch ui
git subtree pull --prefix subtree/ui ui master --squash
git fetch templates
git subtree pull --prefix subtree/templates templates master --squash

Push changes

Synopsis

git subtree push --prefix={path/to/subdir} {remote} [branch]

Beispiel:

git subtree push --prefix subtree/ui ui master
git fetch templates
git subtree push --prefix subtree/templates templates master

Anhänge

Subtree Cheatsheet
application/pdf