2017-07-21 3 views
0

Mein Workflow ohne SourceTree ist so. Ich tippe es in die Befehlszeile. Ich habe ein lokales Repo auf meinem lokalen Rechner. Und ich habe einen Server mit einer Kopie meines lokalen Repos. Und ich benutze Bitbucket für mein Remote Repo. Der erste Teil (lokal) mache ich in meiner lokalen Maschine. Dann schließe ich meinen Server mit SSH und den zweiten Teil geben, git fetch, get merge:Wie funktioniert `git fetch` und` git merge` im Remote-Repo, nicht im lokalen, mit SourceTree?

# On local repo: 
$ git add . 
$ git commit -m "Commit message" 
$ get push origin foo-branch 

# On remote repo 
$ git fetch origin 
$ git merge origin/foo-branch 

Ich weiß, wie der erste Teil in SourceTree lokal zu tun. Aber wie macht man den zweiten Teil in SourceTree? Ist es möglich? Momentan mache ich einen lokalen Teil in SourceTree. Dann aber muss ich in die Befehlszeile wechseln, um git fetch und git merge in meinem Remote Repo zu machen. Ich verbinde meinen Server mit SSH und gebe Befehle ein.

UPD:

Wie Sie ein Update eines Servers Kopie meiner Remote-Repo automatisieren? Es wäre also unnötig, den Server über die Befehlszeile mit SSH zu verbinden und git fetch und git merge einzugeben.

Zum Beispiel, ich schiebe nur eine Festschreibung auf meinem lokalen Rechner und mein Server holt automatisch Änderungen zusammen.

UPD 2:

Ich habe geändert und meine Frage erneut gefragt How to automate an update of a server copy of my remote repo?

+3

AFAIK SourceTree ist nur ein lokaler Git-Client; Die Operationen, die Sie remote durchführen würden, würden remote geschehen, nicht mit SourceTree. Ich denke auch, dass es im Allgemeinen nicht wünschenswert wäre, einem lokalen Git-Client zu erlauben, solche Operationen auszuführen. –

+0

Erstellen Sie ein lokales Repository. Füge 'git fetch' und 'git merge 'in dieses Repository mit SourceTree ein. Übertragen Sie die Änderungen, um das Remote-Repository zu aktualisieren. – ElpieKay

+0

SourceTree ist die Git Client-Software, mit der Sie das Remote-Repository auf Ihrem lokalen Rechner auschecken und die Änderungen lokal festschreiben können. Nachdem Sie fertig sind, können Sie die Änderungen vom lokalen Repository in das Remote-Repository in demselben Zweig übertragen. Ich denke nicht, dass es eine Möglichkeit gibt, diese Operationen auf entfernten Zweigstellen mit SourceTree durchzuführen. – Ani

Antwort

1

Als die andere Frage, die Sie die direkte Antwort gefragt, NEIN.

Da Bitbucket Remote Repo ist ein bare Repo (kein Arbeitsverzeichnis), so sollten Sie ziehen und von lokalen Repo von Client-Hooks (z. B. Pre-Push-Hook) und dann schieben Sie die Zusammenführung Commit in remote von git push --all stattdessen git push origin foo-branch.