832 Stimmen

Konvertieren eines vorhandenen, nicht leeren Verzeichnisses in ein Git-Arbeitsverzeichnis und Verschieben von Dateien in ein entferntes Repository

  1. Ich habe ein nicht leeres Verzeichnis (z. B. /etc/something) mit Dateien, die nicht umbenannt, verschoben oder gelöscht werden können.

  2. Ich möchte dieses Verzeichnis an Ort und Stelle in Git einchecken.

  3. Ich möchte den Status dieses Repositorys mit "git push" oder etwas Ähnlichem an ein entferntes Repository (auf einem anderen Rechner) übertragen können.

Dies ist trivial, wenn man Subversion verwendet (derzeit tun wir es mit Subversion):

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

Was ist das Git-Äquivalent?

Kann ich "git clone" in ein leeres Verzeichnis und verschieben Sie einfach das .git-Verzeichnis und haben alles funktionieren?

9 Stimmen

Vielleicht verstehe ich es einfach nicht, aber können Sie nicht einfach laufen git init innerhalb des lokalen Verzeichnisses?

0 Stimmen

Meinen Sie, dass Sie eine Repo irgendwo anders haben, und Sie wollen zu dieser Repo alle Inhalte dieses anderen Verzeichnisses, das keine Repo ist, hinzufügen? Oder versuchen Sie nur, eine neue Repo in diesem Verzeichnis zu erstellen?

5 Stimmen

Einige der Antworten erwähnen github, aber die Frage selbst bezieht sich auf git. github ist nicht git und es ist nicht das Zentrum des git-Universums.

1304voto

abyx Punkte 65176

Vorausgesetzt, Sie haben einen Git-Daemon auf <url> und ein leeres Repository:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin main

176voto

Hitesh Sahu Punkte 37527

Ich mache das so. Ich habe eine Erklärung hinzugefügt, um zu verstehen, was zum Teufel hier los ist.

Lokales Repository initialisieren

  • initialisieren Sie Git zunächst mit

    Git-Init

  • Alle Dateien zur Versionskontrolle hinzufügen mit

    git add .

  • Erstellen Sie eine Übergabe mit einer Nachricht Ihrer Wahl

git commit -m 'AddingBaseCode'

Entferntes Repository initialisieren

  • Erstellen Sie ein Projekt auf GitHub und kopieren Sie die URL Ihres Projekts wie unten gezeigt:

enter image description here

Fernes Projektarchiv mit lokalem Projektarchiv verknüpfen

  • Verwenden Sie nun die kopierte URL, um Ihr lokales Repo mit dem entfernten GitHub Repo zu verknüpfen. Wenn Sie ein Repository mit git clone klonen, wird automatisch eine Remote-Verbindung namens 起源 die auf das geklonte Repository zurückverweist. Der Befehl remote wird verwendet, um eine Reihe von getrackten Repositories zu verwalten.

    git remote add origin https://github.com/hiteshsahu/Hassium-Word.git

Synchronisieren

  • Nun müssen wir den lokalen Code mit dem entfernten Code zusammenführen. Dieser Schritt ist entscheidend, da wir sonst nicht in der Lage sind, den Code auf GitHub zu veröffentlichen. Sie müssen "git pull" aufrufen, bevor Sie Ihren Code veröffentlichen.

    git pull origin master --allow-unrelated-histories

Übertragen Sie Ihren Code

  • Pushen Sie schließlich alle Änderungen auf GitHub

    git push -u origin master

Hinweis : Jetzt verwendet Github "main" als Standard-Zweig. Wenn Ihr Projekt "main" anstelle von "master" verwendet, ersetzen Sie einfach "master" durch "main" in den obigen Befehlen

43voto

csomakk Punkte 5111

Hier ist meine Lösung:

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

14voto

Romeo Kienzler Punkte 3135

Falls das Remote-Repository nicht leer ist (dies ist der Fall, wenn Sie IBM DevOps auf hub.jazz.net verwenden), müssen Sie die folgende Sequenz verwenden:

cd <localDir>
git init
git add -A .
git pull <url> master
git commit -m "message"
git remote add origin <url>
git push

EDIT 30. Januar 17: Bitte beachten Sie die Kommentare unten, stellen Sie sicher, dass Sie auf der richtigen Repo sind!

13voto

polka Punkte 1203

Der neue offizielle Weg, dies im Jahr 2021 zu tun. Navigieren Sie zum Verzeichnis mit den Dateien. Dies setzt voraus, dass sich noch keine Dateien im Repository befinden.

git init
git add .
git commit -m "initial commit"   
git remote add origin https://<git-userName>@github.com/xyz.gi
git branch -M main    # New
git push -u origin main # New

Manchmal muss ich den Upstream mit diesem Befehl einstellen.

git branch --set-upstream-to=origin/main main

Und dann erzwingen Sie den Push mit diesem Befehl.

git push -u origin main --force

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X