2013-05-17 3 views
6

Wir haben eine Remote-Zweigstelle mit dem Namen deploy zum Erstellen und Testen von Bereitstellungsskripten. Es überrascht nicht, dass sich die Bereitstellungsskripts in einem Verzeichnis mit dem Namen deploy befinden. Nun, da das Verzeichnis deploy sich in der Verzweigung master befindet, ist es beim Erstellen eines ersten Klons mühsam, diesen Zweig tatsächlich auszuprobieren.Wie git Checkout eine Remote-Zweig namens das gleiche wie ein Verzeichnis?

$ git clone bitbucket.org:/myplace/mything 
$ cd mything 
$ ls 
deploy   extensions  installExtensions src   tests 
$ git branch -r | grep dep 
    origin/deploy 
$ git checkout deploy 
$ git branch 
* master 
$ git checkout origin/deploy 
Note: checking out 'origin/deploy'. 

You are in 'detached HEAD' state. [SNIP] 

An dieser Stelle sollte ich erstellen Sie einfach eine lokale Niederlassung namens deploy und legen Sie es um die Fernbedienung zu verfolgen? Gibt es irgendeine Syntax, die ich git geben kann, damit es weiß, dass ich einen entfernten Zweig auschecken möchte, keinen lokalen Pfad?

Antwort

9

Sie könnten einfach eine neue lokale Niederlassung erstellen, die auf dem Remote-Zweig weist einen dieser Befehle (letzteres wird es überprüfen sofort) mit:

git branch deploy origin/deploy 
git checkout -b deploy origin/deploy 

Dies wird jedoch nicht die Tracking-Funktionalität eingerichtet, dass passiert, wenn Git automatisch eine Verzweigung für eine entfernte Verzweigung erstellt. Dazu müssen Sie folgendes zu tun haben:

git branch -u origin/deploy 

Als Alternative können Sie das alles in einem einzigen Befehl tun, was dasselbe ist, was Git würde automatisch tun:

git checkout -b deploy --track origin/deploy 
0

Meine Abhilfe dafür ist

git checkout deploy --

Verwandte Themen