Welches SCM benutzt ihr?
-
drakon schrieb:
Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
Ich habe es jetzt mal ausprobiert und naja..
Ich muss sagen, dass ich das eigentlich schrecklich finde. Imo unübersichtlich, und User unfreundlich ohnegleichen. Und als plötzlich für den commit vim aufging hing ich ca. ne Stunde fest, bis ich rausgefunden habe, wie das Ding funktioniert und bedient werden muss. (nachdem ich die schrekliche Doku aufgesucht habe und schlussendlich einen Linux User gefragt habe, der mir auch nur eine Antwort geben konnte, nachdem er jemand anderen gefragt hat..)Der öffnet eben den Editor, den du als Standardeditor auf dem System eingestellt hast. Ich benutze git zum Größtenteil über magit, gitk und die Konsole.
byto schrieb:
Mich würd mal interessieren, ob hier jemand zusätzlich zu VCS einen Continous Integration Server benutzt?
Was soll ein Continous Integration Server sein?
CSL schrieb:
Entschuldige wenn ich es aus dem Context reiche, aber was soll das bedeuten?
Es soll bedeuten, dass viele Leute ein neues System exakt wie das alte benutzen. Wenn du Branches in SVN benutzt, dann ist das gut.
Ich mach für jedes größere Feature an dem ich arbeite eine neue Branch auf. Rebase die aber regelmäßig auf den aktuellen master (um Konflikte früh zu erkennen oder Bugfixes zu nutzen). Wenn das Feature dann gut genug ist merge ich es in den Master. Für jede logisch trennbare Veränderung versuche ich ein eigenes commit zu machen.
-
drakon schrieb:
Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
Nutze msysgit aus Powershell heraus mit notepad2 als editor. Funktioniert super. Zum Teufel mit den GUIs.
-
DEvent schrieb:
Was bringt einem eine IDE Intergration? Ich benutzte in git 7 Befehle, die alle in Eclipse verfügbar sind...
Ich habe vorhin für CVS gestimmt und finde die Integration von CVS in Eclipse ganz gut. Benutze in Eclipse folgende "Funktionen" von CVS: "Einchecken", "Auschecken", "Tag" setzen, Vergleichen, "History" zeigen. Wären also 5, weiss aber nicht, wie sie auf der Kommandozeile wären... Vergleichen finde ich ganz praktisch.
Meinst Du, git ist in Eclipse genauso gut integriert wie CVS?
-
rüdiger schrieb:
drakon schrieb:
Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
Ich habe es jetzt mal ausprobiert und naja..
Ich muss sagen, dass ich das eigentlich schrecklich finde. Imo unübersichtlich, und User unfreundlich ohnegleichen. Und als plötzlich für den commit vim aufging hing ich ca. ne Stunde fest, bis ich rausgefunden habe, wie das Ding funktioniert und bedient werden muss. (nachdem ich die schrekliche Doku aufgesucht habe und schlussendlich einen Linux User gefragt habe, der mir auch nur eine Antwort geben konnte, nachdem er jemand anderen gefragt hat..)Der öffnet eben den Editor, den du als Standardeditor auf dem System eingestellt hast.
Das ist bestimmt nicht Vim.
- Aber wahrscheinlich ist das von dem Programm her der Standardedtior, ja.
@abc.w
Wie es mit git aussieht weiss ich nicht (bezweifle es aber), aber SVN ist ganz ordentlich integriert. Auf jeden Fall hast du die genannten 5 Befehle ebenfalls drin.@rest:
Niemand benutzt TortoiseGit? - Falls doch gleich mal ne Frage dazu: Wie entfernt man denn da wieder einen erstellten Branch? Habe bis jetzt leider keine Möglichkeit mit TortoiseGit gefunden..Also bei SVN benutze ich hauptsächlich update und commit..
-
Mr. N schrieb:
drakon schrieb:
Wenn wir schon dabei sind. Wie benutzt ihr git? - Über die Konsole?
Ja. Und über Magit. Ansonsten benutze ich gitk recht häufig. git gui nie.
Cool, danke. Hier ist ein cheat-sheet. Kann man magit-mode automatisch starten lassen, wenn man in einem Repository ist?
-
abc.w schrieb:
DEvent schrieb:
Was bringt einem eine IDE Intergration? Ich benutzte in git 7 Befehle, die alle in Eclipse verfügbar sind...
Ich habe vorhin für CVS gestimmt und finde die Integration von CVS in Eclipse ganz gut. Benutze in Eclipse folgende "Funktionen" von CVS: "Einchecken", "Auschecken", "Tag" setzen, Vergleichen, "History" zeigen. Wären also 5, weiss aber nicht, wie sie auf der Kommandozeile wären... Vergleichen finde ich ganz praktisch.
Meinst Du, git ist in Eclipse genauso gut integriert wie CVS?Da ich immer eine Konsole eh offen habe, habe ich keine Ahnung wozu eine Integration gut sein soll. Eine Konsole mit Auto-Verfollständigung und rekursive Suche des letzten Befehls, wie es jede Linux Konsole ist, ist es um einiges schneller als den Menupunkt zu finden.
Aber wie gesagt, du kannst die 7 Befehle (und mehr) und ein Diff in Eclise machen.
-
drakon schrieb:
Das ist bestimmt nicht Vim.
- Aber wahrscheinlich ist das von dem Programm her der Standardedtior, ja.
Ne, wenn du git nicht explizit sagst etwas anderes zu benutzen, dann nimmt er den Standardeditor und ich gehe mal davon aus, dass du nicht explizit auf vim gestellt hast :). Vermutlich hast du den Standardeditor nicht umgestellt. (zB export EDITOR=<editordeinerwahl> in .bashrc hinzufügen)
@DEvent
Ich habe mir magit-status auf C-c m gelegt. Wenn ich mit magit interagieren will, dann springe ich zum status screen und wenn magit noch nicht gestartet ist, wird es automatisch geladen(autoload 'magit-status "magit" "git status" t)
(define-key global-map "\C-cm" 'magit-status)Hier ist n magit screencast:
http://www.vimeo.com/2871241
-
rüdiger schrieb:
(autoload 'magit-status "magit" "git status" t)
(define-key global-map "\C-cm" 'magit-status)Wenn du mir noch sagst, was ich damit machen soll
-
rüdiger schrieb:
drakon schrieb:
Das ist bestimmt nicht Vim.
- Aber wahrscheinlich ist das von dem Programm her der Standardedtior, ja.
Ne, wenn du git nicht explizit sagst etwas anderes zu benutzen, dann nimmt er den Standardeditor und ich gehe mal davon aus, dass du nicht explizit auf vim gestellt hast :). Vermutlich hast du den Standardeditor nicht umgestellt. (zB export EDITOR=<editordeinerwahl> in .bashrc hinzufügen)
Ehm. Ich habe Windows XP und ich bezweifle, dass Vim da vorinstalliert ist, geschweige denn, dass ich den als Standareditor eingstellt habe. Vor allem, da ich den Heute das erste mal gesehen habe.
@DEvent
Rein Befehle eintippen geht wahrscheinlich je nach dem schon schneller, aber wie siehts aus mit History anschauen? Oder mit Diffs auflösen? Das wirst du ja alles nicht in der Konsole machen..
Oder aber auch Files auswählen, welche commitet werden. Ich würde da nicht jedes einzelne File dadurch auswählen wollen, indem ich den Namen eintipppen muss..
-
drakon schrieb:
Ehm. Ich habe Windows XP und ich bezweifle, dass Vim da vorinstalliert ist, geschweige denn, dass ich den als Standareditor eingstellt habe. Vor allem, da ich den Heute das erste mal gesehen habe.
VIM kommt mit dem Mingw Git. Du kannst den Editor aber auch ändern (siehe Doku), oder mit -m eine Nachricht übergeben. Beispiel:
git commit -a -m "This commit has a very nice commit message"
Oder du verwendest ein GUI-Tool. Aber da kann ich nix empfehlen, weil das nicht meine Sache ist.
-
DEvent schrieb:
rüdiger schrieb:
(autoload 'magit-status "magit" "git status" t)
(define-key global-map "\C-cm" 'magit-status)Wenn du mir noch sagst, was ich damit machen soll
In die ~/.emacs schreiben. Vielleicht noch vorher mit
(add-to-list 'load-path "PFAD")
den Pfad zum load-path hinzufügen, wo du magit.el(c) installiert hast.drakon schrieb:
rüdiger schrieb:
drakon schrieb:
Das ist bestimmt nicht Vim.
- Aber wahrscheinlich ist das von dem Programm her der Standardedtior, ja.
Ne, wenn du git nicht explizit sagst etwas anderes zu benutzen, dann nimmt er den Standardeditor und ich gehe mal davon aus, dass du nicht explizit auf vim gestellt hast :). Vermutlich hast du den Standardeditor nicht umgestellt. (zB export EDITOR=<editordeinerwahl> in .bashrc hinzufügen)
Ehm. Ich habe Windows XP und ich bezweifle, dass Vim da vorinstalliert ist, geschweige denn, dass ich den als Standareditor eingstellt habe. Vor allem, da ich den Heute das erste mal gesehen habe.
Komisch, dann hast du irgend ein Git-Windows-Paket gezogen, wo wohl jemand Vim dazu gepackt hat. Hätte nicht gedacht, dass das jemand so etwas macht. Aber das hängt eben mit den Leuten zusammen, die das Paket gemacht haben und nicht mit git direkt.
-
Mr. N schrieb:
drakon schrieb:
Ehm. Ich habe Windows XP und ich bezweifle, dass Vim da vorinstalliert ist, geschweige denn, dass ich den als Standareditor eingstellt habe. Vor allem, da ich den Heute das erste mal gesehen habe.
VIM kommt mit dem Mingw Git. Du kannst den Editor aber auch ändern (siehe Doku), oder mit -m eine Nachricht übergeben. Beispiel:
git commit -a -m "This commit has a very nice commit message"
Oder du verwendest ein GUI-Tool. Aber da kann ich nix empfehlen, weil das nicht meine Sache ist.
Klar kann ich was anderes nehmen. Werde ich auch, aber ich wollte da halt nur sagen, dass ich sowas einfach schreklich zu benutzen finde. Ich will nicht erst ein Manual lesen müssen, bevor ich einen Textedtior benutze..
@rüdiger
Scheint so, ja. Ich habs von da:
http://code.google.com/p/msysgit/
-
drakon schrieb:
Rein Befehle eintippen geht wahrscheinlich je nach dem schon schneller, aber wie siehts aus mit History anschauen? Oder mit Diffs auflösen? Das wirst du ja alles nicht in der Konsole machen..
Oder aber auch Files auswählen, welche commitet werden. Ich würde da nicht jedes einzelne File dadurch auswählen wollen, indem ich den Namen eintipppen muss..git mergetool öffnet dir ein Merge-Tool für jeden merge-Konflikt.
git diff
undgit log
ist in der Konsole auch ganz gut.git log --graph
zeigt dir auch ein Graph der Branches und Logs an.Mit
git config --global color.ui true
hast du auch Farbe.
-
Hmm. Ich würde mal gern sehen, die du damit arbeitest.
(das mein ich jetzt ernst, weil ich kanns mir iwie nicht richtig vorstellen, weil das halt mit GUI so viel einfacher ist..)z.B Das mit dem Graph. In der Konsole gibt es ja anscheinend eine Navigation mit der Tastatur. Wie genau das funktioniert weiss ich jetzt nicht. Müsste also im Manual naschauen. In der GUI ist das sofot klar, wie das geht.
-
drakon schrieb:
Hmm. Ich würde mal gern sehen, die du damit arbeitest.
(das mein ich jetzt ernst, weil ich kanns mir iwie nicht richtig vorstellen, weil das halt mit GUI so viel einfacher ist..)z.B Das mit dem Graph. In der Konsole gibt es ja anscheinend eine Navigation mit der Tastatur. Wie genau das funktioniert weiss ich jetzt nicht. Müsste also im Manual naschauen. In der GUI ist das sofot klar, wie das geht.
Was gibt es da groß zu arbeiten? 7 Befehle, die ich benutze, den Rest der Zeit programmiere ich. Vielleicht liegt es an Git, aber mehr als add, commit und push mache ich nicht (und checkout/merge je nach Lust und Laune).
-
rüdiger schrieb:
byto schrieb:
Mich würd mal interessieren, ob hier jemand zusätzlich zu VCS einen Continous Integration Server benutzt?
Was soll ein Continous Integration Server sein?
Bei Continous Integration gehts im im Grunde darum, die Sourcen automatisisch zu testen und zu zu builden. Hier die Definition von Fowler:
http://martinfowler.com/articles/continuousIntegration.html
* Maintain a Single Source Repository.
* Automate the Build
* Make Your Build Self-Testing
* Everyone Commits To the Mainline Every Day
* Every Commit Should Build the Mainline on an Integration Machine
* Keep the Build Fast
* Test in a Clone of the Production Environment
* Make it Easy for Anyone to Get the Latest Executable
* Everyone can see what's happening
* Automate DeploymentTeamCity ist ein freier Continous Integration Server mit einem Haufen von Funktionen. Einfach mal hier reingucken:
-
drakon schrieb:
@rest:
Niemand benutzt TortoiseGit? - Falls doch gleich mal ne Frage dazu: Wie entfernt man denn da wieder einen erstellten Branch? Habe bis jetzt leider keine Möglichkeit mit TortoiseGit gefunden..Also ich Teste derzeit ja Git, und das mit TortoiseGit damit zum anfang hin die umgewöhnung nicht so schwer fällt.
Auf jeden fall habe ich gemerkt das man Branches und Tags nicht per Tortoise löschen kann, da musste ich die Console benutzen, war aber einfacher als gedachtRechtsklick im Repository -> "Git Bash Here" (Einfaches CMD mit navigation zum respository geht auch)
und dannTags löschen:
git tag -d MyTagNameBranches löschen:
git branch -d MyBranchNameBisher Positiv aufgefallen:
- Das Respository ist auch gleich der Arbeits Ordner, das vereinfacht das Backup.
- Das nicht überall ein info Ordner erstellt wird (.git oder .svn) bei Git gibts das nur im Root.Bisher Negativ aufgefallen:
- Man kann sich nicht den Branch Tree einer Datei oder Verzeichnisses an schauen, man muss sich mit der Log begnügen, finde das sehr unübersichtlich
- Wenn man lokal in einem Branch etwas geändert hat und das noch nicht submitten will, kann man kein anderen Branch in einem anderen Verzeichnis auschecken, also zwei Branches gleichzeitig auf der Festplatte. Ich kann bisher immer nur mit Switch wechseln.Was mir am Anfang passiert war.
Ich erstellte ein Repository in einem Ordner, kopierte ein Projekt rein und submittete das in den master als initial version.
Dann habe ich das nach einem dev abgebrancht (ohne zu switchen).
Dann kopierte ich ein weiteres Projekt daneben (Im selben repository) und wollte das auch abbranchen, dann hieß es das dieser Branch schon existierte, wunderte mich und wollte das Projekt dann nach dev Switchen.
Dann war mir alles eingefrohren, nachdem nach kurzer zeit (~2 min) wieder alles lief konnte ich in den Projekt ordner nicht mehr rein, konnte den nicht wieder zurück wechseln, und löschen auch nicht.Ich habe es am ende beim neu aufziehen so gemacht das ich alle 3 Projekte gleichzeitig in master committed und abgebrancht habe, wie man richtig neue Projekte hinzu fügt weiß ich nicht, nach master wechseln, rein kopieren und dann in master submitten kann ich mir noch vorstellen, aber wie ich diese sourcen dann nach dev abbranche ist mir ein raetsel...
//Dazu
Was mir dazu noch einfällt.
Währe es bei Git eventuell besser ein Repository pro Projekt zu haben? Ich habe bisher ein Repository für 3 Projekte.
-
CSL schrieb:
Wenn man lokal in einem Branch etwas geändert hat und das noch nicht submitten will, kann man kein anderen Branch in einem anderen Verzeichnis auschecken, also zwei Branches gleichzeitig auf der Festplatte. Ich kann bisher immer nur mit Switch wechseln.
git stash könnte das sein, was du suchst.
Alternativ kannst du auch committen. Der Commit bleibt ja lokal bei dir, davon sieht niemand etwas. Später kannst du dann mit "git commit --amend" den commit ändern oder mit git reset den commit ganz entfernen und neu erstellen. Ein Beispiel, wie das geht, steht in der man-page von git-reset.
-
CSL schrieb:
Währe es bei Git eventuell besser ein Repository pro Projekt zu haben? Ich habe bisher ein Repository für 3 Projekte.
Ja, ein Projekt pro Repository ist sinnvoll. Du kannst aber auch ein Master-Projekt bauen, das die Unterprojekte dann z.B. per Submodules anzieht.
-
DEvent schrieb:
drakon schrieb:
Hmm. Ich würde mal gern sehen, die du damit arbeitest.
(das mein ich jetzt ernst, weil ich kanns mir iwie nicht richtig vorstellen, weil das halt mit GUI so viel einfacher ist..)z.B Das mit dem Graph. In der Konsole gibt es ja anscheinend eine Navigation mit der Tastatur. Wie genau das funktioniert weiss ich jetzt nicht. Müsste also im Manual naschauen. In der GUI ist das sofot klar, wie das geht.
Was gibt es da groß zu arbeiten? 7 Befehle, die ich benutze, den Rest der Zeit programmiere ich. Vielleicht liegt es an Git, aber mehr als add, commit und push mache ich nicht (und checkout/merge je nach Lust und Laune).
Nun, das mit git muss ich mir auch anschauen... stelle es mir aber im Moment zu kompiliziert vor. Vielleicht bin ich mit der GUI (Eclipse) und CVS zu verwöhnt und kenne es ja auch nicht anders.