This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| git [2014/01/23 15:21] – [Git Commandline] admin | git [2021/01/19 22:58] (current) – [Git Changelog] admin | ||
|---|---|---|---|
| Line 35: | Line 35: | ||
| ==== Master-Branch hoch schieben ==== | ==== Master-Branch hoch schieben ==== | ||
| - | Schiebt die lokale | + | Schiebt die lokale |
| git push origin master | git push origin master | ||
| Line 42: | Line 42: | ||
| git clone http:// | git clone http:// | ||
| - | | + | |
| + | |||
| + | ====== Git Submodules (sub repository) ====== | ||
| + | |||
| + | ===== Create a Submodule ===== | ||
| + | |||
| + | To link one repository into another in git you can use a thing called submodules: | ||
| + | |||
| + | git submodule add http:// | ||
| + | |||
| + | Example: | ||
| + | |||
| + | cd / | ||
| + | git submodule add https:// | ||
| + | git add . | ||
| + | git commit -m "Add submodules ..." | ||
| + | git push origin master | ||
| + | |||
| + | ===== Clone a Repo containing submodules/ ===== | ||
| + | |||
| + | Submodules need to be initialized and downloaded | ||
| + | |||
| + | cd / | ||
| + | git submodule init | ||
| + | git submodule update | ||
| + | |||
| + | |||
| + | ===== Update a submodules repo ===== | ||
| + | |||
| + | When updating a submodule its required to tell the parent repository to use the latest downloaded version. | ||
| + | |||
| + | cd / | ||
| + | git pull origin master | ||
| + | cd / | ||
| + | git commit -am " | ||
| + | git push origin | ||
| + | |||
| + | ===== Pull ===== | ||
| + | |||
| + | git pull origin | ||
| + | git submodule update | ||
| + | |||
| + | ====== Change git Author ====== | ||
| + | |||
| + | <code bash git.sh> | ||
| + | #!/bin/sh | ||
| + | |||
| + | git filter-branch -f --env-filter ' | ||
| + | |||
| + | OLD_EMAIL=" | ||
| + | CORRECT_NAME=" | ||
| + | CORRECT_EMAIL=" | ||
| + | |||
| + | if [ " | ||
| + | then | ||
| + | export GIT_COMMITTER_NAME=" | ||
| + | export GIT_COMMITTER_EMAIL=" | ||
| + | fi | ||
| + | if [ " | ||
| + | then | ||
| + | export GIT_AUTHOR_NAME=" | ||
| + | export GIT_AUTHOR_EMAIL=" | ||
| + | fi | ||
| + | ' --tag-name-filter cat -- --branches --tags | ||
| + | </ | ||
| + | |||
| + | ====== Git Changelog ====== | ||
| + | |||
| + | Generate a simple changelog of all commits between latest 2 tags. | ||
| + | |||
| + | <code bash> | ||
| + | # | ||
| + | |||
| + | TAGS=($(git tag --sort=-version: | ||
| + | git log --pretty=format:" | ||
| + | </ | ||
| + | |||