[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help: config Management]


Hi,

was ist mit config Dateien die in /etc liegen?

VG
Andreas


Am 20. Maerz 2019 15:45:35 MEZ schrieb Stefan Hagen <sh+uugrn@xxxxxxxxxxx>:
>Hi Christian,
>
>Christian Nitschke wrote:
>> Ich wollte mal fragen, wie Ihr eure Config Dateien handhabt.
>> was waeren denn so eure Gedanken dazu?
>
>Ich mache das seit einigen Jahren mit git. Und zwar ohne Symlinks.
>Das ist eigentlich mega einfach, wenn man es mal gemacht hat.
>
>Lege dir ein Bare Repository an:
>$ git init --bare $HOME/.cfg
>
>Damit hast du ein Repository fuer dein Home. Im Verzeichnis $HOME/.cfg 
>liegen nur die Git-Verwaltungsdaten.
>
>Als naechstes legst du dir ein Alias an:
>$ alias config="git --git-dir=$HOME/.cfg/ --work-tree=$HOME"
>
>Nun solltest du "einmal" folgendes ausfuehren:
>$ config config --local status.showUntrackedFiles no
>(sonst wuerde "config status" immer alle Dateien deines Homes als 
>untracked auflisten)
>
>Ab jetzt hast du das Kommando "config" welches du ganz genauso wie git 
>benutzen kannst.
>
>$ config status / commit / pull / push ... merge, rebase, reset... :)
>
>Wenn du irgendwo in deinem Home jetzt eine Datei oder ein Verzeichnis 
>hast, welches du in deine Dotfiles aufnehmen willst, dann fuege es 
>einfach hinzu:
>
>$ config add .vim
>$ config commit -m "Meine Vim Konfiguration"
>$ config push
>
>Du kannst natuerlich auch ne Upstream URL setzen und das Repository auf 
>Github oder Anderso hin puschen.
>
>Wenn du es auf einer anderen Maschine Clonen willst, dann geht das so:
>
>$ git clone --bare https://...../dotfiles.git $HOME/.cfg
>
>-----
>
>Ich habe mir in meiner .kshrc (sollte auch in bash funktionieren) 
>folgende Funktionen und Aliase angelegt:
>
># config command
>alias config='git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
>
># I'm lazy, so just commit with some machine info
>function dotfiles_autoupdate {
>    config add -u && \
>config commit -m "Update $(date +"%Y-%m-%d %H:%M") $(uname -s)/$(uname
>-m)" && \
>    config push
>}
>
># please give me my dotfiles...
>function dotfiles_init {
>    git --no-replace-objects clone --bare \
>        git@xxxxxxxxxxx:dotfiles.git $HOME/.cfg
>    config config --local status.showUntrackedFiles no
>    config checkout -f
>}
>
>-----
>
>Alles gibt's natuerlich in meinen Dotfiles:
>https://codevoid.de/?q=/1/git/dotfiles/files.gph
>
>Erfahrungswerte (eigentlich generell zu git):
>
># Aufassen mit config add <verzeichnis>
>
>Sagen wir du hast .vim deinem Git-Repository hinzugefuegt. Spaeter fuegst 
>du ein neues Plugin ein - z.B. .vim/bundle/vim-fugitive dann wird das 
>von git nicht automatisch aufgepickt. Das muss mit "config add" 
>hinzugefuegt werden. Als Tippfauler Mensch ist man verleitet dann
>einfach 
>nochmal "config add .vim" zu tippen. Das fuehrt dann unter Umstaenden 
>dazu, dass viel zu viel hinzugefuegt wird. (undo files, swapfiles, 
>passwoerter...). Oder im Falle von .mutt z.B. der komplette header cache
>
>;)
>
># Keine Passwoerter committen
>
>Klingt logisch, ist manchmal aber gar nicht so einfach. Viele Programme
>
>erlauben es Passwoerter aus Konfigurationsdateien raus zuhalten indem
>sie 
>Programme wie "pass" (password-store) oder gpg rufen koennen um sich ein
>
>passwort abzuholen. Wenn das nicht moeglich ist, dann commite ich eine 
>Datei namens .configfile.sample mit "****" statt Passwort. Das ist aber
>
>nur mein persoenlicher Workaround.
>
># Mit pull mit --rebase, stash kennen lernen
>
>Man aendert ja doch immer mal wieder was auf nem nicht-aktuellen branch.
>
>Daher empfehle ich eigentlich generell:
>$ config pull --rebase # statt config pull
>
>Wenn noch nicht committete Aenderungen "rumhaengen":
>$ config stash
>$ config pull --rebase
>$ config stash apply
>
>*Ich* bin mit meiner Loesung _sehr_ zufrieden.
>
>Viele Gruesse,
>Stefan
>
>PS: Schnell getippt - bitte mit Autokorrektur lesen :)
>
>-- 
>Stefan Hagen | (gopher|https)://codevoid.de(/gpg)
>CBD3 C468 64B4 6517 E8FB B90F B6BC 2EC5 52BE 43BA
>-- 
>UUGRN e.V. http://www.uugrn.org/
>http://mailman.uugrn.org/mailman/listinfo/uugrn
>Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
>Archiv: http://lists.uugrn.org/

--
Andreas Koeltringer
akoeltringer@xxxxxxxxx

-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/