2012-03-26 14 views
4

Lets sagen, ich habe die folgenden zwei Zweige und die lokale Niederlassung ist ‚mybranch‘git - kopieren Sie alle Dateien von einem Zweig zum beliebigen Ordner in der aktuellen Zweig, unstaged

master 
master\file.txt 
master\directory\file2.txt 
... 

mybranch 
mybranch\otherfile.txt 

ich ein neues erstellen möchten Verzeichnis, nenne es "test". Ich möchte ALLE Inhalte des Meisters in mybranch\test setzen. Ich möchte nicht, dass diese Dateien und Verzeichnisse inszeniert, sondern nur kopiert werden.

Ich habe versucht git checkout mybranch -- mit verschiedenen Kombinationen von Platzhaltern, Schrägstrichen, Punkten, und ich kann es einfach nicht funktionieren.

So in diesem Beispiel würde mein Endergebnis

sein
mybranch 
mybranch\otherfile.txt 
mybranch\test\file.txt 
mybranch\test\directory\file2.txt 

dies ohne Schaltzweige kann getan werden?

+1

Sieht aus wie Sie diese mit 'git archive' tun könnte , siehe erste Antwort auf [diese Frage] (http://stackoverflow.com/questions/160608/how-to-do-a-git-export-like-svn-export). – tcovo

+0

schlau! das würde funktionieren – SFun28

+0

@tcovo - könnten Sie als Antwort hinzufügen, damit ich Ihnen Kredit geben kann? – SFun28

Antwort

5

Wie in der Antwort auf this question vorgeschlagen, können Sie git archive verwenden, den Inhalt eines verpflichten, abrufen und dann das Archiv an die gewünschte Stelle extrahieren:

git archive master | tar -x -C test 
+0

hat super funktioniert! Vielen Dank! – SFun28

Verwandte Themen