Sichern Sie das Git-Repository vom Xcode-Server

735
Mattia Lancieri

Ich habe einen OSX-Server mit aktiviertem Xcode-Dienst. Der Server hostet mehrere git-Repositorys. Git wird automatisch vom Service-Xcode-Server installiert.

Ich benutze Time Machine, aber das Problem ist, dass ich nicht die Sicherung jedes Repositorys habe, sondern nur eine Sicherung des gesamten Servers.

Kann ich die Repositorys weiterhin in der Time Machine-Sicherung sehen oder gibt es in git einen einfacheren Befehl, mit dem ich Sicherungen erstellen kann?

0
Wenn Sie jedoch den Time Machine-Ordner auf dem Time Machine-Laufwerk öffnen, können Sie alle tatsächlichen Ordner sehen, die vom Server gesichert wurden. Sie haben dann auch Zugriff auf alle nackten Git-Repositorien, nein? Für Git-Backups siehe "git archive": http://git-scm.com/docs/git-archive slhck vor 9 Jahren 0
git archive sieht perfekt aus, danke, ich habe es auf dem Zweig "master" ausprobiert, aber es gibt eine Möglichkeit, für jeden Zweig einen zip auszuführen. Mattia Lancieri vor 9 Jahren 0

1 Antwort auf die Frage

1
slhck

Wenn Sie den Time Machine-Sicherungsordner auf dem Time Machine-Volume öffnen, können Sie immer noch jedes einzelne Verzeichnis anzeigen. Wenn Ihre Git-Repositorys als reine Repos gespeichert sind, können Sie sie finden und kopieren.

Sie können ein Git-Repository auch mit dem git archiveBefehl archivieren .

git archive -o archive.zip master 

Wenn Sie das für alle Branchen tun möchten, können Sie Folgendes tun:

for branch in $(git for-each-ref --format='%(refname)' refs/heads/); do git archive -o "$.zip" $branch done 

Die Ersetzung $wird in konvertiert refs/heads/master, masterindem die längste Übereinstimmung */vom Anfang der Zeichenfolge entfernt wird.

Dies basiert auf einer Stack Overflow-Frage zum Durchlaufen von Zweigen .

Die Variable $ branch enthält den vollständigen Pfad (z. B. "refs / heads / master"), daher führte ich ein git-Archiv mit Teilzeichenfolge -o "$ .zip" $ branch aus. Ich weiß nicht, ob es einen besseren Weg gibt .... Mattia Lancieri vor 9 Jahren 0
Ah, vielleicht ist $ das, was Sie wollen. Siehe meinen aktualisierten Beitrag! slhck vor 9 Jahren 0