Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Wie funktioniert dieses komische Git-Zeugs? (https://www.delphipraxis.net/178648-wie-funktioniert-dieses-komische-git-zeugs.html)

himitsu 19. Jan 2014 17:16

Wie funktioniert dieses komische Git-Zeugs?
 
Moin,

mein kleines Serverlein hängt nun im Netz, aber ich komm mit diesem Git nicht klar.

Was ich schon alles gmacht hab:
  • A-Record beim DNS der Webseite eingestellt, welches erfolgreich vom Dynamic DNS Update aktualisiert wird.
  • Gidder installiert
  • Git-Server eingerichtet und gestartet
    Domain: git.geheimniswelten.de
    Port: 2022 (eigentlich 2222, aber im TP-Link-Router liegt das in einem gesperrten Bereich, beim Port-Forwarding "Virtual Server")
    Und HTTPS, wenn ich das richtig verstanden hab
  • Repository angelegt > Name "Mist" > Mapping "mist"
  • einige Benutzer angelegt > Name "Gast" > Passwort "Gast" > Permission: Pull für "Mist"
  • HTTP/PHP-Server zum Testen der IP: http://git.geheimniswelten.de:8080/

Lokal installiert sind Git 1.8.5.2 und als GUI TortoiseGit,
aber wenn ich jetzt ein "Git Clone" versuche, dann erhalte ich nur Fehler.
Zitat:

git did not exit cleanly (exit code 128) (21278 ms @ 19.01.2014 17:12:18)
Als URL Versuche ich es mit https://git.geheimniswelten.de:2022/mist
Mit HTTP oder HTTPS, mit und ohne Pfad "/mist" und auch direkt über die IP geht es nicht.

jfheins 19. Jan 2014 18:16

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Also bis zur Passwortabfrage komme ich problemlos, danach musste ich leider aufgeben :stupid:
Zitat:

$ git clone ssh://git@git.geheimniswelten.de:2022/mist
Cloning into 'mist'...
The authenticity of host '[git.geheimniswelten.de]:2022 ([146.52.27.20]:2022)' c
an't be established.
DSA key fingerprint is f9:30:7a:d8:e0:50:d7:81:91:12:cf:7f:11:bd:34:26.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[git.geheimniswelten.de]:2022,[146.52.27.20]:2022' (
DSA) to the list of known hosts.
git@git.geheimniswelten.de's password:
Permission denied, please try again.
Für git ist das https Protokoll eigentlich read-only. Sobald du auch pushen möchtest, solltest du zusehen dass ein SSH Server läuft. Das scheint ja auch schon der Fall zu sein, jetzt wären ein paar mehr Infos interessant ;-)

implementation 19. Jan 2014 18:50

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Also was ich schonmal bekomme, ist ein SSL-Problem:
Zitat:

Zitat von git clone \h\t\t\p\s://git.geheimniswelten.de:2022/mist
error: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol while accessing https://git.geheimniswelten.de:2022/...it-upload-pack

Per SSH geht es aber:
Zitat:

$ git clone ssh://Gast@git.geheimniswelten.de:2022/mist
Cloning into 'mist'...
Gast@git.geheimniswelten.de's password:
warning: You appear to have cloned an empty repository.
P.S.: Nervig, dass der Editor immer erfolglos versucht, da ein [url]-Tag reinzubekommen o.O

P.P.S.: Hättest du da nicht irgendeinen Schatz drin verstecken können? Ein leeres Repo vorzufinden ist so langweilig und deprimierend :(

himitsu 19. Jan 2014 19:01

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Der SSH-Server scheint schon direkt im Program drin zu sein.
Mit HTTPS geht es wirklich nicht, hatte auch nur geraten, als ich es damit versuchte.

Das SSH von dir ging da besser und Turtoise machte dann beim Anmelden aus dem git@ ein Gast@ und zeigte es so in der Abfrage für das Passwort an.
ssh://Gast@git.geheimniswelten.de:2022/mist

Woher soll man denn ahnen, daß man in der URL auch den Benutzernamen angeben kann/muß?
Aber im Turtoise ging auch ssh://git.geheimniswelten.de:2022/mist .


Nee, das mit der URL versucht er nicht
entweder
> "Links automatsch umwandeln" deaktivieren
oder noparse-Tag verwenden
Zitat:

$ git clone ssh://Gast@git.geheimniswelten.de:2022/mist
Cloning into 'mist'...
Gast@git.geheimniswelten.de's password:
warning: You appear to have cloned an empty repository.

himitsu 19. Jan 2014 19:05

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Zitat:

Zitat von implementation (Beitrag 1244411)
P.P.S.: Hättest du da nicht irgendeinen Schatz drin verstecken können? Ein leeres Repo vorzufinden ist so langweilig und deprimierend :(

Dafür hätte ich auch erstmal was hochladen müssen , aber es hing ja schon beim Runterladen.

sx2008 19. Jan 2014 19:18

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Git kann auch ganz normal über das Filesystem auf ein anderes Repository zugreifen.
Jeder Benutzer kann z.B. auch sein lokales Repository freigeben (Netzwerkfreigabe) so dass man auch direkt von den Kollegen pullen & pushen kann.

Dazu im TortoiseGit-Menue auf Settings -> Remote (links im Tree) klicken und die rechte Seite editieren.
http://www.swiftsoftwaregroup.com/wp...fig-remote.png
In der URL gibt man einfach den Pfad des Repositories an wie z.B. N:\projects\Delphi\mist.git.
Der Name (Feld "Remote") kann man selber frei festlegen und danach auf Add New/Save klicken.
Es ist üblich das Hauptrepository origin zu nennen, aber das ist nur eine Konvention.

Ein Repository dass zentral im Netzwerk auf einem Fileserver liegt sollte "bare" sein; d.h. es enthält nur die Git-Dateien aber das Arbeitsverzeichnis ist leer.

jfheins 20. Jan 2014 01:08

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Jau. Aber insbesondere durch die Einschränkung "git push nur zu bare Repo" läuft es dann doch wieder ein bisschen auf Client-Server hinaus. Damit das mit den Kollegen geht braucht also jeder zwei lokale Reops, eines bare und eines mit Arbeitsverzeichnis.

Das mit dem Benutzernamen/Passwort hatte ich wohl übersehen, aber schön wenn's jetzt funktioniert :oops:

Perlsau 20. Jan 2014 01:57

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Eine sehr ausführliche und umfangreiche Dokumentation liefert deutsche Übersetzung des Buches "Pro Git" von Scott Chacon. Bin nämlich auch gerade dabei, Git für meine eigenen Projekte lokal zu nutzen.

Memnarch 20. Jan 2014 12:42

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Persönlich bevorzuge ich GitExtensions für GIT. IIRC hat TortoiseGit auch ein paar funktionen nicht in der Shell, die GitExtensions in der Oberfläche hat.
Und P4Merge für Merges bei Mergekonflikten von Branches.

MFG
Memnarch

himitsu 20. Jan 2014 12:55

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Eigentlich wollte ich ja SVN haben, aber dat gibt es ja (noch) nicht.

Und Tortoise hatte ich installiert, da es auf den Screenshots praktisch fast genauso aussah wie das für's SVN und da kenn ich mich nun schon halbwegs aus.

Es sollte ja auch über einen zentralen Server gehen, damit andere auch Zugriff haben, auf einige Projekte. Und ich so ein Backup hab, wobei ich sowieso nicht alle möglichen Revisionen lokal benötige.
Und wenn ich an zwei Rechnern arbeite, dann brauch ich eh alles online, um da überall am Aktuellen arbeiten zu können.

eckardt69 4. Jan 2017 08:59

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Hallo,

ich darf für das Warenwirtschaftsystem meiner Firma eine Versionsverwaltung mit GIT entwickeln/einführen.
Leider bekomme ich das aber nicht so installiert, dass es mir unter Tools > Optionen die Versionskontrolle anzeigt. :cry:
Wie habt ihr das installiert? (zum Testen erstmal lokal auf einem Rechner)
Gibt es ein brauchbares Tutorial im Netz?

Ich hoffe ihr könnt mir weiterhelfen.
Grüße,
Eckardt.

Memnarch 4. Jan 2017 09:11

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Also ich (bzw auch bei mir auf der Firma) nutze für gewöhnlich GitExtensions. Ich mache das nicht über eine IDE-Integration. GitExtensions ist eine gut nutzbare GUI(und der Installer liefert GIT gleich mit).

Darüber lassen sich ganz einfach lokale Repos initialisieren oder welche vom Remote spiegeln.

jaenicke 4. Jan 2017 09:24

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Ich benutze das auch ohne IDE Integration, weil das einfach nicht richtig gut funktioniert. Ich habe hier mal etwas dazu geschrieben wie ich es benutze:
http://www.entwickler-ecke.de/topic_..._115462,0.html

eckardt69 4. Jan 2017 10:00

AW: Wie funktioniert dieses komische Git-Zeugs?
 
@jaenicke: Benutzt du das auch beruflich?

jaenicke 4. Jan 2017 10:26

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Ja, wir haben für unsere neuen Projekte von SVN auf Git umgestellt.

mquadrat 4. Jan 2017 10:38

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Die Versionsverwaltung in der IDE haben wir ebenfalls noch nie verwendet. Die meisten der Kollegen (egal in welcher Programmiersprache unterwegs) nutzen TortoiseGIT oder direkt die Kommandozeile.

Darlo 4. Jan 2017 11:07

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Ich nutze BitBucket. Der Server kann lokal installiert werden und kostet einmalig nur $10! Als GUI nehme ich SourceTree. Bin sehr zufrieden.

eckardt69 4. Jan 2017 12:01

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Damit können doch auch mehrere Nutzer parallel an einem Projekt arbeiten oder liege ich da falsch?

Entschuldigung für die doofen Fragen, aber ich bin noch nicht so lange in der Programmierung tätig und muss mich erstmal reinfinden.

jaenicke 4. Jan 2017 13:47

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Genau das ist eine der Hauptfunktionen neben der Versionierung der Dateien an sich.

Wenn mehrere die selbe Datei parallel ändern, muss derjenige, der als zweiter die Änderungen schicken will, diese zusammenführen. Solange es nicht die gleiche Stelle in der Datei betrifft, geht das aber meist automatisch. Ansonsten wirst du gefragt welche Änderungen du behalten willst.

Dafür macht es auch Sinn ein Tool wie Beyond Compare oder Code Compare zu kaufen. Das mitgelieferte WinMerge kann zwar auch viel machen, ist aber deutlich unübersichtlicher...

warschonweg 6. Jan 2017 00:10

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Wenn es nur um das "parallele Arbeiten" geht, gibt es wahrlich bessere Lösungen als Git, gerade unter Windows, wo Git ja eher stiefmütterlich entwickelt wird. Mal Fossil angesehen? Da ist sogar ein Bugtracker schon mit drin. :)

HolgerX 6. Jan 2017 05:19

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Hmm..

Oder, wenn es nur wenige Entwickler sind, reicht die Kombi 'WinCVS' + 'WinDiff'... ;)
Zwar schon sehr als, läuft aber stabil und wurde viele Jahre verwendet..

jaenicke 6. Jan 2017 07:32

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Zitat:

Zitat von HolgerX (Beitrag 1358209)
Oder, wenn es nur wenige Entwickler sind, reicht die Kombi 'WinCVS' + 'WinDiff'... ;)

Kann aber deutlich weniger als moderne Systeme. Gerade beim Mergen, Branchen usw. sind Git und Co Lichtjahre voraus demgegenüber...
(Wir kamen von CVS über SVN zu Git.)

Mit der Kombi würden wir jedenfalls deutlich mehr Aufwand haben bei der Arbeit. Auch bei unserem kleinen Team. außerdem sind wir ja gerade wegen diverser Probleme von CVS weg. Das fängt schon damit an, dass CVS Binärdaten zerstört, wenn sie nicht explizit als solche gekennzeichnet sind. (Im häufigsten Fall PDFs)
Natürlich kann man das alles korrekt benutzen, aber warum, wenn quasi alle anderen Systeme das alles automatisch richtig machen?

Hast du denn z.B. Git oder SVN schon ernsthaft benutzt? So richtig vorstellen kann ich mir das nämlich nicht, wenn du CVS heute noch ernsthaft als Alternative vorschlägst.

warschonweg 6. Jan 2017 09:08

AW: Wie funktioniert dieses komische Git-Zeugs?
 
CVS funktioniert für den Zweck, für den es entworfen wurde, auch heute noch problemlos. Binärdateien gehören meines Erachtens nicht in ein VCS.

mquadrat 6. Jan 2017 09:43

AW: Wie funktioniert dieses komische Git-Zeugs?
 
CVS ist faktisch tot. Natürlich funktioniert es noch (wäre ja auch seltsam wenn nicht), aber die aktuellen Workflows in der Software-Entwicklung unterstützt es eben nicht mehr. Und gerade der DevOps-Bereich hat sich doch in den letzten Jahren weiter entwickelt.

warschonweg 6. Jan 2017 09:50

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Und man braucht unbedingt alle paar Jahre einen neuen Workflow, weil?

Jumpy 6. Jan 2017 10:22

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Könnten wir diese Diskussion einfach an dieser Stelle beenden. Haben wir alles schon vor ca. 1-2 Monaten ausführlich durchgekaut (mal wieder) und auch wenn schon mal die ein oder andere interessante Info dabei rauskommt ist es doch die dabei meist aufkommende negative Stimmung nicht wert.

Der TE hat sich ja scheinbar schon für GIT entschieden, belassen wir es doch dabei, auch wenn ein Grund dafür vllt. die IDE-Integration gewesen sein mag, was wie wir jetzt schon mehrfach gehört haben ein schlechter Grund war, da das in der IDE nicht so gut funktioniert.
Nicht desto trotz gibt es auch viele gute Gründe für GIT und in sofern ist die Wahl nicht schlecht. Er sollte nur darüber nachdenken ein anderes Werkzeug (für GIT) zu benutzen.

jaenicke 6. Jan 2017 13:03

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Zitat:

Zitat von warschonweg (Beitrag 1358218)
CVS funktioniert für den Zweck, für den es entworfen wurde, auch heute noch problemlos. Binärdateien gehören meines Erachtens nicht in ein VCS.

Wenn wir schon bei alter Software sind... wie war das mit den binären .dfm Dateien zum Beispiel?

warschonweg 6. Jan 2017 13:05

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Sind kein Problem für CVS, nur Diff ist dann schwierig. :-D

jaenicke 6. Jan 2017 16:25

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Wenn sie als Binary drin sind, aber das wurde eben nicht immer automatisch korrekt gemacht. Und auch manchmal vergessen. Wie haben diverse solcher Leichen im alten Repository...

warschonweg 6. Jan 2017 16:28

AW: Wie funktioniert dieses komische Git-Zeugs?
 
Gegen PEBKAC hilft git aber auch nicht. Man hat dort sogar noch viel effizientere Möglichkeiten, sich selbst ins Knie zu schießen (Stichwort Reset).


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz