Frage zu git


#1

Hallo,

ich habe mal versucht git für die Versionskontrolle zu verwenden. Jetzt
möchte
ich meine Anwendung auf den Staging-Server deployen.

Wenn ich es richtig verstehe, dann verwende ich den clone-Befehl, um
meine
aktuelle Version aus dem Repository zu holen.

Wenn ich aber clone verwende, dann erhalte ich auch das ganze Zeugs, das
ich
garnicht auf dem Server haben will. Z.B. sowas:

pplypatch-msg.sample 100% 452 0.4KB/s
00:00
commit-msg.sample 100% 894 0.9KB/s
00:00
post-commit.sample 100% 160 0.2KB/s
00:00
post-receive.sample 100% 553 0.5KB/s
00:00
post-update.sample 100% 189 0.2KB/s
00:00
pre-applypatch.sample 100% 398 0.4KB/s
00:00
pre-commit.sample 100% 519 0.5KB/s
00:00
pre-rebase.sample 100% 4942 4.8KB/s
00:00
prepare-commit-msg.sample 100% 1219 1.2KB/s
00:00
update.sample 100% 2892 2.8KB/s
00:00
index 100% 8824 8.6KB/s
00:00
exclude 100% 240 0.2KB/s
00:00
HEAD 100% 184 0.2KB/s
00:00
master 100% 184 0.2KB/s
00:00
HEAD 100% 184 0.2KB/s
00:00
30bafb00a8a47aa43429582401058d78af64ea 100% 103 0.1KB/s
00:00
a5d1a8e2af7ec7503ea3684e7d90daeeb9e279 100% 50 0.1KB/s
00:00
c0dc79000d804bc481ba0e333febe24518a076 100% 249 0.2KB/s
00:00
efa4b06dc1c849efa12c10b5a81ced6266e474 100% 348 0.3KB/s
00:00
fa093d1bdcb87f3def639cdca3a2d05b9ba6ea 100% 176 0.2KB/s
00:00
5187fa58b1631e955f5d514d895a7721466797 100% 164 0.2KB/s
00:00
144e3cc339d5aa2ec684bc45b671da16e7d44f 100% 479 0.5KB/s
00:00
ed27df9cc516f0336d5e1815bcc3aa9080966d 100% 377 0.4KB/s
00:00

etc.

Was wäre denn der richtige Weg um meine Anwendung ohne die ganzen
git-spezifischen Dateien aus dem git-Repository zu holen?

Viele Grüße und schon mal vielen Dank im Voraus

Michael K.


#2

Hi, Michael.

ich habe mal versucht git für die Versionskontrolle zu verwenden. Jetzt
möchte ich meine Anwendung auf den Staging-Server deployen.

Wenn ich es richtig verstehe, dann verwende ich den clone-Befehl, um meine
aktuelle Version aus dem Repository zu holen.

Das ist richtig. Es gibt allerdings nicht unbedingt nur “ein”
Repository. Jedes Repository kann Quelle und/oder Ziel sein.
Mit clone machst du eine Kopie eines Repository.

Wenn ich aber clone verwende, dann erhalte ich auch das ganze Zeugs, das
ich garnicht auf dem Server haben will. Z.B. sowas:

pplypatch-msg.sample 100% 452 0.4KB/s 00:00
commit-msg.sample 100% 894 0.9KB/s 00:00
[…]
144e3cc339d5aa2ec684bc45b671da16e7d44f 100% 479 0.5KB/s 00:00
ed27df9cc516f0336d5e1815bcc3aa9080966d 100% 377 0.4KB/s 00:00
etc.

Das sieht danach aus, dass du ein “reines” Repository, ohne
Arbeits-Daten geholt hast. Hast du “–bare” benommen?

Was wäre denn der richtige Weg um meine Anwendung ohne die ganzen
git-spezifischen Dateien aus dem git-Repository zu holen?

git clone ist schon richtig, nur eben ohne “–bare”.
Eine andere Moeglichkeit waere, einfach die Anwendung selbst als das
Haupt-Repository zu verwenden. Wo du arbeitest hast du deinen clone, und
von hier schickst du deine Daten direkt auf das Haupt-Repository, das
auch gleich deine Anwendung ist. Dabei wird allerdings nur alles ins
.git-Verzeichnis gesteckt. Um es dann zu “deployen”, musst du dann ein
“checkout --force” machen.
Ich mag Capistrano nicht so, deswegen mach ich das so, es funktioniert
ganz gut.

Gruesse, Rainer