2012-08-11 11 views
11

Ich habe vorhandenen Code auf meinem Computer, dann habe ich mein Konto auf sourceforge registriert, ein git-Projekt zu starten. Jetzt muss ich mein lokales Projekt auf SourceForge Remote Space schicken. Auf sf gibt es die Anweisung Seite:git fataler Fehler Pfad mit einem macht keinen Sinn

Zum ersten Mal mit Git

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

Bestehende Repository

cd miorep-code 
git remote add origin ssh://****/p/miorep/code 
git push origin master 

Wenn ich den ersten Satz von Anweisungen zu folgen, ich habe ein

"Fatal: Paths with -a does not make sense"

wenn ich git commit -a -m 'Initial commit' bekomme.

Wenn ich den zweiten Satz der Anweisung folgen erhalte ich:

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code'

, wenn ich den letzten Befehl exec.

Was ist die richtige Anleitung in meinem Fall? Warum bekomme ich diesen Fehler?

Antwort

8

Der erste Satz von Anweisungen nicht sinnvoll:

cd miorep-code 
git init 
git commit -a -m 'Initial commit' 

Es eine git add zwischen git init und git commit, weil sonst git nicht weiß WHAT Sie begehen wollen sein muss. Ihr zweiter Fehler ...

error: src refspec master does not match any. error: failed to push some refs to 'ssh://**/p/ravenna/code' 

... bedeutet, dass Sie haben nicht wirklich etwas zu Ihrem lokalen Repository begangen noch, so gibt es keinen master Zweig zu schieben.

Was Sie tun möchten, ist:

cd miorep-code 
git init 
git add . 
git commit -m 'initial commit' 
git push origin master 

Sie werden bemerken, dass dies Ihren ersten Satz von Befehlen fast identisch ist, außer dass wir ein git add . hinzufügen haben, was bedeutet, „alles in meinem hinzufügen aktuelles Verzeichnis und darunter zu meinem Repository ".

+0

Es schien, dass Remote-Add benötigt wurde. –

+1

Ja; Ich nahm an, dass du das schon getan hast. – larsks

+1

Ihre Antwort scheint falsch zu sein. 'git commit -a' soll das Äquivalent von' git add sein. && git commit'. Das tut das "-a", nein? – Olhovsky

14

Die Single-Quote 'ist das Problem. Ändern Sie es in Anführungszeichen wie "initial commit". Verwenden Sie doppelte Anführungszeichen in Windows-cmd anstelle von Single-Quote.

@AndrewC: Lesen Sie diese, bevor Sie das tun, downvote: http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository#Skipping-the-Staging-Area

+0

Das funktioniert nicht mit den obigen Kommentaren, da nichts hinzugefügt wird, um ein Commit zu machen. –

+1

Ich stieß gestern auf das gleiche Problem. Die Änderung in doppelte Anführungszeichen hatte geholfen. Alle nicht nachverfolgten Dateien, die manuell in den git-Projektordner kopiert wurden, werden automatisch zu den gestaffelten und dann festgeschriebenen Dateien hinzugefügt. -eine Option ist eine Verbindung der 2 Aktionen. –

+0

"Jede Datei, die bereits verfolgt wird" - Es gibt keine verfolgten Dateien direkt nach Git init, wie in den obigen Kommentaren –