Schieben Sie das vorhandene Projekt in Github


224

Ich habe einen Ordner mit meinen Projektquellen. Wie kann ich dieses Projekt in das Repository von Github verschieben?

Ich habe versucht, diese Schritte auszuführen:

  1. Ich habe ein leeres Repository auf GitHub erstellt.
  2. Ich führe git-bash aus und tippe git init, so dass im Projektstamm ein .gitOrdner angezeigt wird.
  3. Ich habe einige Dateien zur Versionskontrolle hinzugefügt git add sourcesFolderName
  4. Ich habe Dateien festgeschrieben, die im vorherigen Schritt mit hinzugefügt wurden git commit -m "initial commit"
  5. Ich habe Remote-Repository mit angegeben git remote add MyProject <url>
  6. Schließlich git pushwird aber nichts auf Remote Repo verschoben ... (kein Autorisierungsfehler)

Wie kann ich vorhandene Quellen in neu erstelltes Github-Repo verschieben?


4
Was genau war die Ausgabe von git push?
1615903

1
@ user1615903 Ich bin sicher, ich habe eine falsche Abfolge von Schritten. Ich glaube ich brauche so etwas git clone. Ich erinnere mich nicht an die Ausgabe von git push, aber ich denke, es ist nicht signifikant. Weil Problem an einem anderen Ort
MyTitle

Haben Sie tun git push MyProject master?
Felix Kling

Dieser Blog-Beitrag kann jedem helfen, der diese Aufgabe erledigen möchte. Alle Schritte werden einfach und ausführlich beschrieben. samranga.blogspot.com/2015/07/…
Samitha Chathuranga

1
Ein kleiner Rat, versuchen Sie, die SourceTree-App zu verwenden. Die Benutzeroberfläche ist sehr schön.
Mohammad Fareed

Antworten:


340
git init
git add .
git commit -m "Initial commit"
git remote add origin <project url>
git push -f origin master

Die -fOption auf git pusherzwingt den Push. Wenn Sie es nicht verwenden, wird ein Fehler wie der folgende angezeigt:

To git@github.com:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5
Dies hat mein Problem behoben, aber ich konnte Befehl 4 nicht git remote add origin <project url>ausführen command syntax not correct. Ich habe es ignoriert und es hat funktioniert
Khalil Khalaf

4
Nur eine Randnotiz: Wenn Sie die GitHub-Website nie verwenden möchten, können Sie diese nach dem dritten Schritt hinzufügen: curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}' Ersetzen Sie USER durch Ihren Benutzernamen und REPO durch den Namen des zu erstellenden Repositorys.
MD XF

1
Ich denke auch, dass Sie nicht mehr einfach tun können git add ., Sie sollten das ändern cat "# reponamehere" >README.mdund dann git add README.md. So heißt es in der GitHub-Dokumentation
MD XF

2
Ich glaube, die -fFlagge wird das Verschwinden der entfernten Geschichte erzwingen? Es scheint ein gefährlicher Bediener.
van abel

112

In weniger technischen Begriffen

Meine Antwort ist nicht anders, aber ich füge weitere Informationen hinzu, da diejenigen, die neu sind, davon profitieren könnten, die Informationslücken zu schließen.

Nachdem Sie das Repo auf Github erstellt haben, haben sie Anweisungen. Sie können diesen folgen. Aber hier sind einige zusätzliche Tipps, weil ich weiß, wie frustrierend es ist, mit Git zu beginnen.

Angenommen, Sie haben Ihr Projekt bereits lokal gestartet. Wie viel du hast, spielt keine Rolle. Aber tun wir so, als hätten Sie ein PHP-Projekt. Angenommen, Sie haben die Datei index.php, contact.php und einen Assets-Ordner mit Bildern, CSS und Schriftarten. Sie können dies auf diese Weise tun (einfach), aber es gibt viele Optionen:

Option 1

Melden Sie sich bei Ihrem Github-Konto an und erstellen Sie das Repo.

Geben Sie hier die Bildbeschreibung ein

Im folgenden Bildschirm können Sie es nach unten kopieren, wo Sie es benötigen, wenn Sie auf die Schaltfläche (rechte Seite des Bildschirms) klicken, um "auf dem Desktop zu klonen".

Geben Sie hier die Bildbeschreibung ein

Sie können (oder auf andere Weise) den Inhalt Ihres vorhandenen Projekts in Ihr neues Repo kopieren. Mit der Github-App können Sie von dort aus einfach über die GUI ein Commit ausführen (dh Sie klicken einfach auf die Schaltflächen in der Anwendung). Natürlich geben Sie Ihre Notizen für das Commit ein.

Option 2

  • Erstellen Sie Ihr Repo auf Github wie oben erwähnt.
  • Wechseln Sie auf Ihrem Computer über das Terminal in Ihr Verzeichnis. Mit der Linux-Befehlszeile würden Sie in das Verzeichnis cd . Von hier aus führen Sie die folgenden Befehle aus, um Ihr vorhandenes Projekt mit Ihrem Repo auf Github zu "verbinden". (Dies setzt voraus, dass Sie Ihr Repo auf Github erstellt haben und es derzeit leer ist.)

Tun Sie dies zuerst, um git zu initialisieren (Versionskontrolle).

git init

Führen Sie dies aus, um alle zu überwachenden Dateien hinzuzufügen. Wenn Sie Dateien haben, die Sie ignorieren möchten, müssen Sie .gitignoreder Einfachheit halber ein hinzufügen, aber verwenden Sie einfach dieses Beispiel, um zu lernen.

git add .

Dann legen Sie fest und fügen eine Notiz zwischen dem """ersten Festschreiben" usw. hinzu.

 git commit -m "Initial Commit"

Hier fügen Sie nun Ihr vorhandenes Repo hinzu

git remote add github <project url>

Aber tippen Sie nicht wörtlich <project url>, sondern Ihre eigene Projekt-URL. Wie bekommst du das? Gehen Sie zu dem Link, auf dem sich Ihr Repo auf Github befindet, und kopieren Sie den Link. In meinem Fall ist eines meiner Repos https://github.com/JGallardo/urbanhistorical, sodass meine resultierende URL für diesen Befehl danach einfach .git hinzufügt . Also hier wäre es

git remote add github https://github.com/JGallardo/urbanhistorical.git

Testen Sie, ob es funktioniert hat

git remote -v

Sie sollten sehen, mit was Ihr Repo verknüpft ist.

Geben Sie hier die Bildbeschreibung ein

Dann können Sie Ihre Änderungen auf Github übertragen

git push github master

oder

git push origin master

Wenn Sie immer noch einen Fehler erhalten, können Sie ihn mit erzwingen -f. Wenn Sie jedoch in einer Teamumgebung arbeiten, achten Sie darauf, dass Sie keine Gewalt anwenden, da dies zu weiteren Problemen führen kann.

git push -f origin master

3
Ihre ist die beste Erklärung. Für andere, die dies lesen: Ich habe mein Repository zuerst bei github erstellt, damit ich nicht pushen kann. Ich musste> Github ziehen <Projekt-URL> und dann Github drücken. Danach war alles in Ordnung.
Philologon

1
Vielen Dank dafür! Option 1 hat mir das Leben gerettet, nachdem alle anderen Optionen fehlgeschlagen sind! : D
Sara Inés Calderón

2
Tolle Erklärung! Ich würde jedoch die folgenden Zeilen hinzufügen: git remote add origin <Projekt-Ull> und dann git push -f origin master. Ohne das -f wird es einen Fehler geben
Javiar Sandra

1
Bitte fügen Sie die Option -f zum letzten Befehl hinzu, damit Ihre Antwort die beste ist
Jacobo Koenig

1
Das hat wirklich geholfen! Ich habe das Github-Repo versehentlich mit einer README-Datei initialisiert, dann hat es nicht funktioniert. Ich habe es wieder mit einem leeren Repo gemacht und es hat funktioniert.
Verena Haunschmid

36

Sie müssen beim Drücken angeben, welcher Zweig und welche Fernbedienung :

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github <project url>
➤ git push github master

Funktioniert wie erwartet.

Sie können dies standardmäßig einrichten, indem Sie Folgendes tun:

➤ git branch -u github/master master

Damit können Sie einen git pushFrom-Master ausführen, ohne die Fernbedienung oder den Zweig anzugeben.


1
Richtig. Sie können das /masterTeil auch überspringen , da es redundant ist.
Gabriele Petronella

1
"git add Readme.md" ist nicht korrekt. Wenn es bereits vorhanden ist, muss es nicht hinzugefügt werden. Wenn es nicht existiert, schlägt der Befehl fehl. In jedem Fall ist dies nicht korrekt.
Mitch

1
@Mitch Dies ist keine geheime magische Anrufung, die Ihren Computer plötzlich dazu bringt, das zu tun, was Sie wollen. Es ist ein Beispiel, um Menschen eine Vorstellung davon zu geben, was sie tun sollen. Ich erwarte, dass die Leute die Befehle verstehen, die sie in ihre Maschine eingeben.
Brice

9

Wenn Sie einen Mac verwenden (und dies funktioniert wahrscheinlich auch auf einem PC), ist dies eine sehr einfache Möglichkeit, dies zu tun. Seltsamerweise habe ich für diesen einfachen Prozess hoch und niedrig gesucht und ihn nie gefunden.

  • Tun Sie nichts auf Github (außer ein Konto zu haben und nicht alle verfügbaren Repos aufgebraucht zu haben).
  • Laden Sie GitHub für Mac herunter und installieren Sie es. Gehen Sie die Kontoeinrichtung usw. durch. Erstellen Sie KEINE Repositorys für Ihr vorhandenes Projekt.
  • "Neues lokales Repository hinzufügen" in Repositorys.
  • Wählen Sie Ihren vorhandenen Ordner aus. Sie werden gefragt, ob Sie das tun möchten. Sagen Sie "Ja".
  • Sobald Sie fertig sind, sehen Sie eine Liste aller Ihrer Dateien usw. Übernehmen Sie sie.
  • Gehen Sie zu Repositories und veröffentlichen Sie (dies erstellt das neue Repo auf GitHub für Sie, wenn Sie Ihr Konto ordnungsgemäß eingerichtet haben).
  • Gehen Sie zu Repositories und Push (Sie sehen entweder das "Nichts zu pushen" -Ding oder es werden Ihre Dateien / Änderungen in das neu automatisch erstellte Repo verschoben).
    • Ich frage mich, warum Sie diesen einfachen Prozess nirgendwo anders finden konnten.

Ich weiß, dass es nicht empfohlen wird, den Projektordner als Repo-Ordner zu verwenden. Ich mache es die ganze Zeit, es funktioniert immer, es macht es einfach und ich habe nie Probleme damit.


Mir scheint, wenn die GitHub-App es einem Benutzer erlaubt, dies auf diese Weise zu tun, muss es in Ordnung sein.
Johnnieb


5

Ich werde dem vorherigen Kommentar von Rose P folgen. Es hat lange gedauert, bis ich die Lösung gefunden habe, also poste ich (hoffentlich in einfachem Englisch) neu, was für mich funktioniert hat ...

Schritt 1: Erstellen Sie Ihr neues Repository auf Github.com (überspringen, falls Sie bereits eines haben)

Schritt 2: XCode schließen ... wird nicht benötigt

Schritt 3: Öffnen Sie ein neues Terminalfenster (ja, Sie müssen das Terminal verwenden ... Ich habe alle anderen Möglichkeiten ausprobiert ... nichts hat funktioniert)

Schritt 4: Verwenden Sie den Befehl cd , um Ihren Ordner in Ihrem Projekt zu finden (das Projekt, das Sie Ihrem vorhandenen oder neuen Repository hinzufügen möchten).

Schritt 5: Geben Sie git init ein. Sie erhalten so etwas. Vorhandenes Git-Repository in / {aktuelles Verzeichnis} neu initialisiert

Schritt 6: Geben Sie git add ein. Nach diesem Schritt passiert nichts mehr, aber geben Sie es ein und fahren Sie mit dem nächsten Schritt fort.

Schritt 7: Geben Sie git commit -m "Initial commit" ein. Sie erhalten Folgendes: # Auf dem Zweigmaster gibt es nichts zu festschreiben, Arbeitsverzeichnis sauber

oder

einige Erklärungen zur Konfiguration und dann eine Liste der Dateien, die sich geändert haben.

Schritt 8: Geben Sie git remote add origin {Projekt-URL} ein Geben Sie Die Projekt-URL finden Sie auf Github.com. Es ist die HTTPS-Klon-URL ... Sie sollten in der Lage sein, sie einfach zu kopieren und in das Terminalfenster einzufügen. Wenn das System Ihnen mitteilt, dass der Ursprung bereits vorhanden ist, erstellen Sie einen anderen Namen oder verwenden Sie Ihren Projektnamen (etwas anderes).

Schritt 9: Gehen Sie zu Ihrer GitHub-Anwendung auf Ihrem Mac und klicken Sie auf die Schaltfläche "Zweig synchronisieren" (auch wenn keine Änderungen ausstehen). Ich denke, es dauert eine Weile, bis es tatsächlich festgeschrieben wird, aber wenn Sie zu Ihrem lokalen Repository-Ordner zurückkehren, sollten Sie Ihr neues Projekt sehen. Ich musste den übergeordneten Ordner neu erstellen, aber es geht nur darum, Ihre Dateien zu verschieben. Gehen Sie zu GitHub.com und aktualisieren Sie Ihren Browser. Ihre neuen Dateien sollten auch dort sein.

Ich hoffe das hilft.


5
Follow below gitbash commands to push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git push origin branch)

4
git init

Fügen Sie die Dateien in Ihrem neuen lokalen Repository hinzu. Dies stellt sie für das erste Commit bereit.

git add .

Fügt die Dateien im lokalen Repository hinzu und stellt sie für das Festschreiben bereit. Verwenden Sie 'git reset HEAD YOUR-FILE', um eine Datei zu entfernen.

Übernehmen Sie die Dateien, die Sie in Ihrem lokalen Repository bereitgestellt haben.

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

Repository. Um dieses Commit zu entfernen und die Datei zu ändern, verwenden Sie 'git reset --soft HEAD ~ 1' und schreiben Sie die Datei fest und fügen Sie sie erneut hinzu. Feld "Remote-Repository-URL kopieren" Klicken Sie oben auf der Seite "Schnelleinrichtung" Ihres GitHub-Repositorys auf, um die URL des Remote-Repositorys zu kopieren.

Fügen Sie an der Eingabeaufforderung die URL für das Remote-Repository hinzu, an das Ihr lokales Repository gesendet wird.

git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

Übertragen Sie die Änderungen in Ihrem lokalen Repository auf GitHub.

git push origin master
# Pushes the changes in your local repository up to the remote repository you 

als Ursprung angegeben


4
  1. Navigieren Sie über die Befehlszeile zu Ihrem lokalen Repository-Verzeichnis.
  2. Erstellen Sie ein neues Repository in GitHub, es wird Ihnen einen Link geben, der mit endet .git.
  3. in cmd run: git remote add origin [your_GitHub_Repository_link]( denk daran, Link sollte enden mit .git)
  4. dann renne : git push -u origin master

Hoffe das war nützlich.


4

Erstellen Sie ein neues Repository

git clone <url>
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Bestehender Ordner

cd existing_folder
git init
git remote add origin <url>
git add .
git commit -m "Initial commit"
git push -u origin master

Vorhandenes Git-Repository

cd existing_repo
git remote rename origin old-origin
git remote add origin <url>
git push -u origin --all
git push -u origin --tags

Was ist der Unterschied zwischen Commit und Push? Worauf beziehen sich "Ursprung" und "Meister" in Push? ein Zweig?
ealeon

2

Erstellen Sie zunächst ein neues Repository auf Github mit Ihrem Projektnamen. Führen Sie dann die folgenden Schritte aus.

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add origin https://github.com/yuvraj777/GDriveDemo.git
5)git push -u origin master

2

Ich weiß, das ist eine alte Frage, aber ich versuche jeden Schritt zu erklären, damit es anderen helfen kann. So füge ich eine vorhandene Quelle zu git hinzu:

  1. Erstellen Sie das Repo auf dem Git, damit Sie das SSH || haben https, wo Sie remote Ihren Quellcode hinzufügen werden.
  2. Gehen Sie in Ihrem Terminal zum Pfad Ihres Projekts.
  3. Ausführen git init(hier initiieren Sie das Projekt als Git-Projekt).
  4. Ausführen git add *(hier fügen Sie alle Dateien und Ordner aus Ihrem Projekt hinzu).
  5. Ausführen git commit -m "Initial Commit."(hier legen Sie Ihre in Schritt 4 hinzugefügten Dateien und Ordner fest; erwähnen Sie, dass Sie Ihre Änderungen nicht übertragen können, ohne sie festzuschreiben).
  6. Lauf git remote add origin https://your_username@bitbucket.org/your_username/project-name.git (hier fügen Sie ein Remote-Projekt hinzu, in das Ihre Quelle verschoben wird; ersetzen Sie meinen Link durch Ihren ssh || https aus Schritt 1).
  7. Ausführen git push -u origin master(hier schieben Sie Ihre Quelle in das Git-Repository).

Hinweis: Dies sind einfache Schritte für Ihre Quelle in den Schub Master - Zweig.


2

Ich hasse es, noch eine Antwort hinzuzufügen, aber mein spezielles Szenario wird hier nicht ganz behandelt. Ich hatte ein lokales Repo mit einer Historie von Änderungen, die ich beibehalten wollte, und ein nicht leeres Repo, das für mich auf Github erstellt wurde (dh mit der Standardeinstellung README.md). Ja, Sie können das Github-Repo jederzeit als leeres Repo neu erstellen, aber in meinem Fall hat jemand anderes die Berechtigung, dieses bestimmte Repo zu erstellen, und ich wollte ihn nicht stören, wenn es eine einfache Problemumgehung gab.

In diesem Szenario tritt dieser Fehler auf, wenn Sie git pushnach dem Festlegen des Remote-Ursprungs Folgendes versuchen :

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Wie der Fehler anzeigt, musste ich git pullnach dem Festlegen des Remote-Ursprungs eine --allow-unrelated-historiesOption ausführen, aber ich musste die Option angeben . Ohne diese Option git pullbeschwert sich warning: no common commits.

Hier ist die genaue Reihenfolge der Befehle, die für mich funktioniert haben:

git remote add origin <github repo url>
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push

Ich habe das gleiche Problem, aber Ihre Schritte führen zu einer seltsamen Sache mit dem Texteditor
John Ktejik

Ah, ich vermute, Sie verwenden normalerweise eine Benutzeroberfläche und schreiben normalerweise nicht über die Befehlszeile fest (daran ist nichts auszusetzen, ich verwende die SourceTree-Benutzeroberfläche). Der Editor, der aufgetaucht ist, ist höchstwahrscheinlich der vi-Editor, dessen Benutzeroberfläche ein ganzes Thema für sich ist, daher werde ich hier nicht näher darauf eingehen.
Jonathan Fischer

2

Ab dem 29.07.2019 präsentiert Github den Benutzern die Anweisungen zum Ausführen dieser Aufgabe beim Erstellen eines Repos und bietet verschiedene Optionen:

Erstellen Sie ein neues Repository in der Befehlszeile

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

Verschieben Sie ein vorhandenes Repository über die Befehlszeile

git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

Code aus einem anderen Repository importieren

Drücken Sie die importTaste, um den Vorgang zu initialisieren.

Für die visuellen Lernenden da draußen:

Geben Sie hier die Bildbeschreibung ein




0

Ich fand, dass es einfacher war, ein Update in "natürlicher" Reihenfolge zu stimulieren, als Dinge zu erzwingen.

Angenommen, das Repo ist bereits auf github erstellt und Sie haben möglicherweise auch einige Inhalte in die Datei README.md eingefügt.

  1. Öffnen Sie auf Ihrem Computer das Terminal und git clone [repo URL]

  2. Sie werden sehen, dass ein neuer Ordner mit dem Namen Ihres Repos erstellt wurde. Fühlen Sie sich frei, es umzubenennen - spielt keine Rolle.

  3. Verschieben Sie Ihren Code, Ihre Dateien usw. in diesen Ordner. Bearbeiten Sie die README.md, wenn Sie müssen.

  4. Öffnen Sie nun das Terminal / die Eingabeaufforderung, gehen Sie in diesen Ordner und tun Sie so, als würden Sie das nächste Update für das Repo vornehmen:

git add .
git commit -m "v2"
git push origin master

Hinweis: Beim Festschreibungsbefehl wird git möglicherweise abgelehnt und aufgefordert, zuerst die E-Mail-Adresse und das Kennwort des Benutzers zu konfigurieren. Befolgen Sie die auf dem Bildschirm angegebenen Schritte und führen Sie den Befehl commit erneut aus.

  1. Und diese drei Befehle tun Sie jetzt für jedes Mal, wenn Sie ein weiteres Update veröffentlichen möchten.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.