2012-06-22 2 views
6

Ist es möglich git pull und git push in einem git Befehl zu haben?git pull und git push auf einen Schlag

Die Syntax wie passt mir nicht vollständig, da ich meine Anmeldeinformationen zweimal auf dem Server bereitstellen muss: auf Pull und auf Push.

Also frage ich mich, gibt es einen Workaround dafür? Ich glaube, es sollte so sein, denn es ist ein ziemlich gewöhnlicher Fall, wenn Entwickler entfernte Ursprünge ziehen, bevor sie lokale Änderungen vornehmen.

EDIT: Ich verwende Windows 7/x64, msysgit-utf8 1.7.9

+1

Es kann gefährlich sein, wenn Merge-Konflikte nicht vorhanden sind? –

+1

Was das Protokoll? Es gibt Möglichkeiten, Anmeldeinformationen nur einmal pro Sitzung bereitzustellen – CharlesB

+3

Tun Sie es nicht. Richten Sie die Authentifizierung mit öffentlichem Schlüssel ein oder ändern Sie das Protokoll so, dass Sie es können. – wadesworld

Antwort

4

Zunächst einmal können Sie _netrc Datei konfigurieren, die von Git verwendet wird, hier die damit verbundene Frage: Git - How to use .netrc file on windows to save user and password dann können Sie einen Alias ​​für den Befehl konfigurieren:

git config alias.publish '!git pull && git push'` 

und Typen: git publish

+0

Ich kann Login zu URL des Repository mit @ -Symbol hinzufügen als Trennzeichen. Und ich kann mein Passwort zu ".git/config" hinzufügen. Aber ich möchte meine Passwörter nicht speichern. Ich möchte gerne mit Passwort gefragt werden. Aber nur einmal! – shytikov

+0

Ich glaube, diese '.netrc' Lösung wird nicht mit SSH-Verbindung funktionieren ... – shytikov

+0

Sie müssen nicht ein Login und ein Passwort zu der .git/config hinzufügen. Es ist ein falscher Weg. Wenn Sie eine SSH-Verbindung verwenden, ist es besser, öffentliche Schlüssel dafür zu verwenden. Für https Verbindung durch Anmeldeinformationen können Sie _netrc Datei in Windows verwenden, achten Sie auf die Unterstreichung im Dateinamen anstelle von Punkt. – lisachenko

0

ich nur etwas schnell und schmutzig in diesem Fall zu tun empfehlen. Es ist vielleicht nicht der effizienteste Weg, dies zu tun, aber ich würde einfach ein Bash-Skript in vim mit den Befehlen erstellen und das ausführen, wenn man bedenkt, wie einfach die Befehle sind. Dann können Sie diese Datei einfach jedes Mal öffnen, wenn Sie gleichzeitig ziehen und drücken möchten.

Alles, was Sie tun müssen, ist die Datei zu erstellen, geben Sie die zwei Zeilen von Befehlen, die Sie schreiben möchten, und geben Sie diesen Dateinamen in die Befehlszeile ein, wann immer Sie sie ausführen möchten.

Wieder ist nicht der effizienteste Weg, aber eine schnelle Lösung.

+0

Es ist nicht Situation mit Doppel-Authentifizierung beheben ... Und das ist das Problem. Es stört mich nicht, 'git pull & git push' zu tippen. Ich möchte mein Passwort nicht zweimal eingeben, da ich der Meinung bin, dass es eine Optimierung sein sollte. Aber ich habe es noch nicht gefunden ... – shytikov

0

Sie besser SSH verwenden würde, aber wenn Sie nicht SSH verwenden können, können Sie immer die Windows-Anmeldeinformationen speichern verwenden Ihr Kennwort zu speichern, damit Sie es in zweimal nicht ausfüllen müssen:

git config --global credential.helper wincred 

Quelle: Git documentation