[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help: config Management]
[Thread Prev] | [Thread Next]
- Subject: Re: [Help: config Management]
- From: Andreas Koeltringer <akoeltringer@xxxxxxxxx>
- Date: Wed, 20 Mar 2019 16:38:42 +0100
- To: uugrn@xxxxxxxxxxxxxxx
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/