2014-01-26 6 views
8

Ich habe ein Repository geklont, das von einem Professor auf meiner virtuellen Maschine erstellt wurde (ich benutze Ubuntu 13.10) und wir sollen persönliche Ordner erstellen. Ich habe meine erstellt, aber ich kann nicht für das Leben von mir verpflichten und drängen es auf GitHub zu zeigen. Ich schwöre, ich habe jede Antwort hier versucht, und die Dinge haben sich etwas verbessert. Zum Beispiel hatte ich ursprünglich eine Version von Git, die zu alt war und https nicht zulassen würde. Ich habe auch eine leere Datei in meinem persönlichen Verzeichnis erstellt, weil ich weiß, dass GitHub keine leeren Ordner speichert.Wie kann ich Commit und Push an das Repository eines anderen Benutzers auf GitHub senden?

ich geklont ursprünglich das Repository mit:

$ git clone git://github.com/astrofoley/astr596.git 

und verwendet dann

git config --global user.name "myusername" 

und

git config --global user.email "myemail" 

ich mit meinem Professor geprüft und er sorgte dafür, dass ich ausreichende Berechtigungen verfügen.

An diesem Punkt abhängig davon, welche begehen und Push Methoden, die ich verwende (Ich versuche immer zu https://github.com/astrofoley/astr596.git schieben), habe ich angefangen mehr verschiedene Fehlermeldungen erhalten von „nichts anderes als untracked Dateien vorhanden zu begehen hinzugefügt“ zu einfach „403“. Ich habe keine Ahnung, was ich falsch mache, aber ich vermute, dass etwas damit zusammenhängt, dass das Repository einem anderen Konto gehört. Wie auch immer, das wird unglaublich frustrierend. Bitte helfen Sie!

EDIT: Hier ist ein Beispiel für mein aktuelles Problem. Ich habe versucht, das Hinzufügen und die Datei in meinem Verzeichnis zu begehen wieder

git add blank.txt 

mit (dieser Schritt fein gearbeitet zu haben scheint), und dann

git commit blank.txt 

An dieser Stelle ich die Meldung „Auf Zweig Master, nichts zu committen, Arbeitsverzeichnis sauber ".

+0

können Sie nicht einmal in Ihrem lokalen Repo festschreiben? Wenn Sie das Repository auf Ihrem Computer geklont haben, können Sie lokal alles machen, was Sie wollen. Pushing wäre eine andere Sache – iberbeu

+1

hast du etwas in blank.txt geändert? Welches ist die Ausgabe von 'git status'? – iberbeu

+0

Endlich bekam ich endlich die volle Commit-Eingabeaufforderung (wo sie meine Commit-Nachricht verlangte), aber ich denke, dass sie irgendwie abgesagt wurde und ich kann nicht sehen, ob ich jetzt zurückkomme. – Arnold

Antwort

1

BESCHLOSSEN. Ich habe das Verzeichnis jetzt gelöscht und neu geklont, für das ich über die Berechtigungen eines Mitarbeiters verfüge. Dies war definitiv der richtige Weg, da die fehlgeschlagenen SSH-Schlüssel und alle anderen Konfigurationen, mit denen ich experimentiert hatte, entfernt wurden. Nachdem alles neu geklont wurde, habe ich mein Verzeichnis neu erstellt, eine leere Datei hinzugefügt, git das Verzeichnis und dann die Datei hinzugefügt, meine Änderung aus dem astr596-Repository übernommen und zum Ursprung verschoben. Erfolg!

1

Wurden Sie als Mitarbeiter in das Repo Ihres Professors aufgenommen? Wenn Sie von einem Linux-Terminal aus arbeiten, müssen Sie Ihrem Professor eine id_rsa.pub Datei als Kollaborateur geben (da das Terminal nicht mit Ihrem GitHub-Account synchronisiert ist, was tatsächlich passiert, wenn Sie GUI-Versionen von github für win oder mac verwenden).

Eine andere Möglichkeit ist, seinen Repo in Ihr Konto zu verzweigen, von dort auf Ihren PC zu klonen und dann "Pull Request" an den ursprünglichen Repo zu senden.

+0

Er hat mich gerade heute Morgen hinzugefügt, damit dieser Teil in Ordnung sein sollte. Er besteht darauf, dass ich in der Lage sein sollte, HTTPS zu verwenden, und ich denke, dass einige Leute in der Lage waren, dies zu tun, also bin ich vorsichtig bei der Generierung von SSH-Schlüsseln. Wenn ich sein Repo in mein Konto eingabele, wie schiebe ich an meine Gabel? – Arnold

+0

Nun, wie ich verstehe, hat dein Lehrer dein Github-Konto zum Repo hinzugefügt, und du arbeitest von einem Terminal aus (nicht Github Gui). Wenn dies der Fall ist, müssen Sie noch Ihre id_rsa.pub in Ihr Github-Konto hinzufügen ... ist nicht genug, um Ihre E-Mail zu deklarieren (git config --global user.email "myemail"). – Fernando

+0

Das Einrichten von SSH-Schlüsseln schien zu funktionieren, bis ich diesen Fehler bekam, der anscheinend bei Jaunty üblich ist. https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/201786 – Arnold

3

Gerade sie umfassend zu machen,

  1. eine Änderung vornehmen.

    touch somefile.txt 
    
  2. tell git diese Änderung zu verfolgen

    git add somefile.txt 
    
  3. die

    Änderung begehen
    git commit -m "what you did" 
    
  4. set up your remote.

  5. Push

    git push <remote> <branch> 
    
+0

Vielen Dank! Auf jeden Fall näher kommen. Wenn ich das tue, sagt es, dass die Spitze meines Zweigs hinter seinem entfernten Gegenstück ist. Ich habe versucht, den Pull-Befehl und es sagt, es hat alles auf den neuesten Stand gebracht, aber es gibt mir immer noch einen Fehler. Ich glaube nicht, dass ich die Verzweigungssyntax verstehe. Wenn ich astr596/personal/Rebecca zur Fernbedienung drücken möchte, wie sollte aussehen? – Arnold

+0

Ich denke, dass Sie wahrscheinlich nur ein bisschen über Git lesen müssen. Zu versuchen, diese Dinge zu tun, bevor Sie verstehen, was Sie tun, ist ein wenig gefährlich. Ich würde Pro-git ausprobieren, es ist kostenlos und online verfügbar. Schauen Sie sich speziell diese Seite an (http://git-scm.com/book/en/Git-Basics-Working-with-Remotes), die Ihnen dabei helfen könnte, dies zu klären. Froh, zu sehen, dass es gelöst ist, sollten Sie Ihre Antwort akzeptieren, um dies als geschlossen zu markieren. – asmacdo

+0

Fertig! Vielen Dank. Ich werde sicher mehr darüber lesen - dieses Projekt war nur zeitkritisch. – Arnold

Verwandte Themen