Git Repo in nicht leeren aktuellen Ordner klonen/darauf verlinken

  • Hi,

    ich nutze GitHub bisher hauptsächlich als Online-Speicherplatz. D.h. mit add commit und push bin ich bisher ausgekommen. Und viel weiter reicht mein Wissenstand auch nicht.

    Ich habe für meine AutoIt Testskripte eine (privates) Repo in meinem Ordner "..\Test" erstellt. Das Git-Repo trägt ebenfalls den Namen "Test". Soweit auch alles gut. Dort liegen diverse Testskripte.

    Jetzt möchte ich, wenn ich unterwegs bin, mit meinem anderen Rechner darauf zugreifen. Dort habe ich eine analoge Ordnerstruktur (..\AutoIt\Test) und möchte in diesem Ordner dann auch das lokale Repo anlegen.

    Fragen dazu:

    • git clone kann ich hier ja wohl nicht verwenden, da dann der Repo-Ordner vom Server in den lokalen Ordner geklont würde. Ich hätte dann "..\Test\Test" ?
    • Würde ich aus dem übergeordneten Verzeichnis clone ausführen, würde dann mein existierender Ordner "Test" überschrieben oder die Erstellung wg. vorhandenem Ordner abgebrochen?
    • git init wäre somit vermutlich erst mal notwendig für das lokale Repo. Aber wie weise ich die URL des Git-Repos zu?

    Ich habe bisher nicht viel probiert, da ich nicht versehentlich mein Repo zerlegen will.

    Falls ihr Tipps habt - her damit. Bitte möglichst nur Kommandozeilenbefehle, Git-Gui oder Web-Interface nutze ich nur in Ausnahmefällen.

    Ich habe auch GitHub CLI installiert, falls das nützlich ist.

  • Ich bin mir nicht sicher, aber ich vermute, es würde abbrechen, wenn der Ordner vorhanden ist.

    Ich würde entweder "git init" nutzen und dann mit "git remote set-url origin git@github.com:User/UserRepo.git" die URL setzen.

    Danach wirst du aber einen commit erstellen müssen um den dann mit deinem master/main branch zu mergen,...
    Je nach komplexität/unterschied zwischen den repos macht es ggf. Sinn, den Ordner umzubenennen, dann zu clonen und dann alles, was du behalten willst wieder rein zu kopieren und zu pushen.
    Viel Spaß :)

  • Hi BugFix ,


    ja es würde ein Hinweis kommen, dass der Ordner bereits vorhanden ist und nicht leer ist, daher bricht dies ab.
    An sich wirst du dir nichts so einfach zerschießen können, denn dafür ist GIT clever genug um dir Warnungen zu geben und auch die entsprechenden Vorschläge.

    Trotzdem kannst du ja beim ersten Test deinen Ordner kopieren (Backup), nur für den Fall der Fälle 😅 .

    Für dein Szenario konkret (so mache ich das bisher immer, ohne Probleme):

    Code
    git init
    git remote add origin https://github.com/BugFix/Test.git
    git fetch
    git checkout main -f
    git branch --set-upstream-to origin/main
    • Wenn du ältere Repos auf GitHub hast, dann musste du sehr wahrscheinlich master anstatt main als branch verwenden.
    • Ausgehend vom Verzeichnis, in das du clonen möchtest. Also direkt im Verzeichnis stehend.
    • Du kannst auch git fetch mit git pull (dritte Zeile) austauschen, allerdings mache dies lieber hinterher.
    • Ich nutze in diesem Beispiel die HTTPS clone Variante, Kanashius die SSH Variante. Einfach nur als Hinweis, beides geht natürlich.

    Viele Grüße
    Sven