Mit Git Submodule Repositories verlinken

Aufgabe:

ine Skript Library wird in zwei Projekten verwendet und soll nicht doppelt gepflegt werden.

Übersicht:

 Git Submodule verlinken

Ablauf:


Verlinken „git submodule add <GIT URL> <ORDNER>“:

#Im root Folder des aktuellen Projektes
 
git submodule add https://github.com/gpipperr/OraDBASQLScripts.git sql
 
 
Cloning into 'C:/git_projekt/OraBashShell/sql'...
remote: Enumerating objects: 332, done.
remote: Counting objects: 100% (332/332), done.
remote: Compressing objects: 100% (307/307), done.
remote: Total 332 (delta 22), reused 329 (delta 22), pack-reused 0
Receiving objects: 100% (332/332), 272.93 KiB | 5.35 MiB/s, done.
Resolving deltas: 100% (22/22), done.

Status abfragen „git diff –cached –submodule“:

git diff --cached --submodule
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..7e614ec
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "sql"]
+       path = sql
+       url = https://github.com/gpipperr/OraDBASQLScripts.git
Submodule sql 0000000...a105b32 (new submodule)

Erster Commit:

git commit -am "Inital setup of the repo for the Oracle bash scripts lib"
 
[main d13c84b] Inital setup of the repo for the Oracle bash scripts lib
 2 files changed, 4 insertions(+)
 create mode 100644 .gitmodules
 create mode 160000 sql

Auf den Mode „160000“ achten ⇒ Commit wird als als Verzeichniseintrag und nicht als Unterverzeichnis oder Datei erfasst.


Puschen:

git push origin master

Quellen

Git Doku