• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Verständnisproblem mit git im Terminal

m3rlin

Granny Smith
Registriert
09.09.09
Beiträge
13
Hey,

ich bin absoluter Anfänger mit git unter Mac OS und ich komme einfach nicht weiter, daher hoffe ich mal, hier einen Experten zu treffen.
Und zwar ein einfaches Beispiel:
Ich clone ein Git Repository mit z.B.
Code:
[COLOR=#343434]git clone https://github.com/cloudControl/php-silex-example-app.git[/COLOR]

Dann gehe ich in das Verzeichnis und pushe das ganze auf den Server (ich benutze CloudControl) mit
Code:
[COLOR=#343434]cctrlapp APP_NAME push[/COLOR]
und deploy es.
Das klappt ja noch und die Seite ist online.
Jetzt möchte ich eine Datei ändern. Das mache ich und "git status" ergibt dann auch:
Code:
# On branch master# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   resources/css/helloworld.css
#
no changes added to commit (use "git add" and/or "git commit -a")

So, das committe ich dann wie vorgeschlagen mit git add + Pfad

Anschließend will ich diese Änderung auf den Server pushen. Also wieder
Code:
cctrlapp APP_Name push

Jetzt kommt aber immer die Meldung:
Code:
Everything up-to-date

Und wenn ich auf dem Server schaue bzw. mir das git-repository clone, wurde nichts geändert.

Kann mir bitte jemand sagen, was ich falsch gemacht habe???

Vielen Dank!

Christoph
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Du musst erst Dateien zum commit hinzufügen. Beispiel:

Code:
git add resources/css/helloworld.css

oder wenn du alles (rekursiv) vom aktuellen Ordner aus hinzufügen willst:

Code:
git add .

Jetzt hast du definiert, welche Dateien für das jetzige commit relevant sind. Nun der eigentliche commit:

Code:
git commit -m "Nachricht. Was wurde veraendert?"

Jetzt ist dein commit lokal gespeichert. Um diesen auf den Server zu schieben einfach ein:

Code:
git push [I]origin master[/I]

Das origin master (falls du es z.B. in den master branch des Servers schreiben willst) kann optional sein, ich gebe es einfach nur gerne an, um explizit anzugeben in welchen remote branch ich die Änderungen schieben will.

Wie das ganze jetzt mit deiner Cloud App geht, weiß ich leider nicht.
 

m3rlin

Granny Smith
Registriert
09.09.09
Beiträge
13
Juhu!
Danke, dieser "git commit -m "Nachricht" "-Befehl hat mir gefehlt - ich dachte schon, ich werde bekloppt.. Jetzt nimmt er die Änderungen an.

Ich hätte da noch eine Frage zu den branches: Sind die dafür da, dass ich z.B. auf dem Server eine master branch habe, die über die URL erreichbar ist, und eine testing branch, in die ich erst einmal die Änderungen schiebe und ich mir ansehen kann, wie das ganze aussieht?

Danke auf jeden Fall erstmal für die schnelle Hilfe!
Grüße
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Mit den branches kann man relativ viel machen. Ich benutze das meistens einen extra branch um experimentelle Änderungen vorzunehmen, ohne dass die Entwicklung des "stabilen" Zweiges beeinflusst wird; wenn das Experiment geglückt und stabil ist, kann ich es mit merge wieder leicht in den stabilen Zweig zurückführen.

Aber da kannst du dir eigene Modelle ausdenken. Dieser Artikel ist wirklich hilfreich (so würde man das bei großen Projekte mit vielen Mitarbeitern machen).
 

m3rlin

Granny Smith
Registriert
09.09.09
Beiträge
13
Danke für deine Hilfe, ImperatoR, die Seite ist genau das, was ich brauche!

Grüße,
Christoph