2010-02-11 11 views
14

Ich habe Editor-Einstellungen, die ich in allen Repositories verbreiten möchte. Wenn der Benutzer seine eigenen Einstellungen definiert, sollte er natürlich die Repository-Auswahl löschen.Wie teilen Sie eine Konfigurationsdatei in git?

Ich möchte das tun, weil ich eine Klasse habe und jeder Student das Repo klonen. Normalerweise vergessen sie, die core.editor-Einstellung zu setzen und enden damit, mit vi herumzuspielen, was normalerweise den Repo stürzt, als ob sie magische Kräfte verflucht hätten.

Wie es für meine HOME dir funktionierte, habe ich versucht, eine .gitconfig in meinem Repo-Verzeichnis zu verwenden, als würde ich ein .gitignore setzen, aber es scheint nicht zu funktionieren.

EDIT:

  • --global muss der Benutzer lassen gesetzt seine Präferenz den Repo außer Kraft zu setzen, aber es does't ihm erlauben, die repos Config zu holen, während es zu klonen.
  • .git/wird Config nicht unter geklont Repo
  • geteilt
+3

Es scheint, wie die richtige Lösung ist, die Schüler über die Verwendung von REDAKTION, VISUAL und GIT_EDITOR zu erziehen. Das ist in jedem Fall gutes Allgemeinwissen. –

+2

Bildung ist einfach, wenn Sie die Zeit haben, die Sie mit jedem einzelnen Schüler verbringen möchten. Das ist nicht der Fall. Ich würde lieber eine automatische Lösung finden und Zeit für wichtigere Dinge aufwenden. –

Antwort

5

Verteilen Sie Ihr Repo mit rsync oder tar/untar, anstatt "git clone" zu verwenden, das, wie Sie gesehen haben, Repo-Spezialdateien nicht kopiert.

-3

Globale Einstellungen können über eingestellt werden: auf git config --global

Vielleicht sollten Sie lassen die Schüler klonen die Konfigurationsdatei (aus dem eigenen Repository) ihre Home-Verzeichnisse.

+0

es erlaubt mir nicht, irgendeine git Konfiguration zu teilen. –

2

Ich mache dies, indem ich die Konfigurationsdatei auf das Arbeitsverzeichnis verschiebe, um es versioniert zu bekommen.

Dann könnte man die andere Person bitten, einen Link auf die Config zu machen:

$ rm .git/config 
$ cd .git 
$ ln -s ../config config 

Sie könnten dann diese in einem Skript schreiben oder in einer Zeile sie kopieren und einfügen zu lassen.

+1

Aber was ist, wenn sie auch benutzerdefinierte Einstellungen in ihrer Konfigurationsdatei haben? Dies würde diese Einstellungen löschen. – Jacko

1

Sie könnten ein Shell-Skript im Repo erstellen, das diese Werte durch git config setzt. Das würde es den Schülern ermöglichen zu sehen, wie sie es selbst machen, und es gibt ihnen eine Möglichkeit, ihre lokalen Einstellungen rückgängig zu machen.

Leider wäre dies nicht automatisch.

Beispiel:

#! /bin/sh 
git config core.editor "ed" 
+0

Definitiv eine schlechte Idee. Ein Skript in welcher Sprache? Sie haben besser eine Sprache, die alle Schüler gut verstehen. Und du wirst Zeit damit verbringen müssen, was dir immer fehlt, wie es in meinen früheren Kommentaren erwähnt wurde. –

+0

Ich meinte ein SH-Skript, das über die Git-Befehle verfügt, um die Standardwerte einzurichten. Es sei denn, Ihre Schüler verwenden git nicht in der Befehlszeile? – idbrii

+0

@ e-satis Warum sollten die Schüler die Sprache des Skripts verstehen müssen? Über die Zeit, müssen Sie etwas Zeit auf diese irrelevante davon verbringen, wie Sie es tun. – eis

Verwandte Themen