Das praktische Gitlab-Tutorial verwendet Git Config für zugehörige Konfigurationsvorgänge

Das praktische Gitlab-Tutorial verwendet Git Config für zugehörige Konfigurationsvorgänge

Dieser Artikel stellt den Inhalt zur Git-Konfiguration anhand eines tatsächlich aufgetretenen Problems vor.

Befehl: git config

Verwenden Sie git config für zugehörige Konfigurationsvorgänge

Konfigurationsdateien

Insgesamt sind Git-Konfigurationsdateien in drei Ebenen unterteilt und mit prioritätsbezogenen Informationen wie folgt kombiniert

Einfach ausgedrückt: Je näher Sie am Repository sind, desto höher ist die Prioritätsstufe, also Projektebene > Benutzerebene > Systemebene. Wenn die gleichen Einstellungen gleichzeitig angezeigt werden, überschreibt die Einstellung mit der höheren Priorität die übergeordnete Konfiguration.

Konfigurationsprüfung

Verwenden Sie „git config“ mit unterschiedlichen Parametern, um die Einstellungen der drei oben genannten Ebenen zu überprüfen.

Da dieselben Einstellungen möglicherweise überschrieben werden, werden mit „git config -l“ die endgültigen Einstellungen aufgelistet, die Git für richtig hält.

Problemphänomen

Bei vielen Clients treten Probleme auf, wenn .gitignore automatisch generiert wird. Beispielsweise tritt bei den folgenden Git- und Betriebssystemversionen eine Fehlermeldung für die Aktion „ng new“ auf:

Umweltinformationen

liumiaocn:angualr liumiao$ git --version
Git-Version 2.15.0
liumiaocn:angualr liumiao$ uname -a
Darwin liumiaocn 17.3.0 Darwin Kernel Version 17.3.0: Do., 9. Nov. 2017, 18:09:22 PST; root:xnu-4570.31.3~1/RELEASE_X86_64 x86_64
liumiaocn:angualr liumiao$ 
liumiaocn:angualr liumiao$ ng --version
  _ _ ____ _ ___
  / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
 / △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
 / ___ \| | | | (_| | |_| | | (_| | | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
        |___/
Angular-CLI: 1.7.3
Knoten: 8.9.1
Betriebssystem: Darwin x64
Eckig: 
...
liumiaocn:angualr liumiao$

Phänomen

liumiaocn:angualr liumiao$ ng neue Demo1 --skip-install
 Erstellen Sie demo1/README.md (1021 Bytes)
 Erstellen Sie demo1/.angular-cli.json (1240 Bytes).
…auslassen „create demo1/src/app/app.component.ts“ (207 Bytes)
Fehler: Include-Pfad „~/.gitcinclude“ konnte nicht erweitert werden
fatal: fehlerhafte Konfigurationszeile 44 in Datei /usr/local/git/etc/gitconfig
Projekt „demo1“ erfolgreich erstellt.
liumiaocn:angualr liumiao$

Konfigurationsinformationen

liumiaocn:angualr liumiao$ cat /usr/local/git/etc/gitconfig 
[Kern]
  schließt Datei aus = ~/.gitignore
  legacyheaders = false # >git 1.5
  Zitatpfad = falsch
[Benutzer]
# name = Ihr Name
# E-Mail = Ihr@Name
[Zusammenführungstool]
  keepBackup = wahr
[drücken]
  Standard = einfach # [ passend | einfach ]
[Farbe]
  ui = auto
  interaktiv = automatisch
[umpacken]
  usedeltabaseoffset = true # >git 1.5
[alias]
  s = Status
  a = !git add . && git status
  au = !git add -u . && git status
  aa = !git add . && git add -u . && git status
  c = festschreiben
  cm = commit -m
  ca = commit --amend # vorsichtig
  ac = !git add . && git commit
  acm = !git add . && git commit -m
  l = log --graph --alles --pretty=format:'%C(gelb)%h%C(cyan)%d%Creset %s %C(weiß)- %an, %ar%Creset'
  ll = log --stat --abbrev-commit
  lg = log --color --graph --pretty=format:'%C(fett weiß)%h%Creset -%C(fett grün)%d%Creset %s %C(fett grün)(%cr)%Creset %C(fett blau)<%an>%Creset' --abbrev-commit --date=relative
  llg = log --color --graph --pretty=format:'%C(fett weiß)%H %d%Creset%n%s%n%+b%C(fett blau)%an <%ae>%Creset %C(fett grün)%cr (%ci)' --abbrev-commit
  d = Differenz
  Master = Master auschecken
  spull = svn rebase
  spush = svn dcommit
  alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1\\\t => \\2/' | sort
[einschließen] # Stand 1.7.10 https://github.com/git/git/commit/9b25a0b52e09400719366f0a33d0d0da98bbf7b0
  Pfad = ~/.gitcinclude
  Pfad = .githubconfig
  Pfad = .gitcredential
#[github]
# Benutzer =
# Token =
[Unterschied]
  # Git führt eine Kopier-/Umbenennungs-*Erkennung* durch. Wenn Sie möchten, dass Kopien/Umbenennungen verfolgt werden:
  # http://stackoverflow.com/questions/1043388/record-file-copy-operation-with-git
  # benennt um = kopiert
[Unterschied "exif"]
  textconv = exif
[Anmeldeinformationen]
  Helfer = osxkeychain
liumiaocn:angualr liumiao$

Grund

Der Grund scheint ein Problem mit der Erweiterung von ~ zu sein. Das Erweitern von ~ zu einem globalen Namen in der Einstellungsdatei löst dieses Problem vorübergehend. In Kombination mit dem oben Gesagten ist jedoch ersichtlich, dass dies tatsächlich eine Möglichkeit ist, die Einstellungen auf Systemebene auf die Verarbeitung auf Benutzerebene zu reduzieren.

Änderungsmethode

liumiaocn:angualr liumiao$ sudo cp /usr/local/git/etc/gitconfig /usr/local/git/etc/gitconfig.org
Passwort:
liumiaocn:angualr liumiao$ echo $HOME
/Benutzer/liumiao
liumiaocn:angualr liumiao$ echo ~
/Benutzer/liumiao
liumiaocn:angualr liumiao$ sudo vi /usr/local/git/etc/gitconfig
liumiaocn:angualr liumiao$ 
liumiaocn:angualr liumiao$ diff /usr/local/git/etc/gitconfig /usr/local/git/etc/gitconfig.org
2c2
< excludesfile = /Benutzer/liumiao/.gitignore
---
> schließt Datei aus = ~/.gitignore
44c44
<Pfad = /Benutzer/liumiao/.gitcinclude
---
> Pfad = ~/.gitcinclude
liumiaocn:angualr liumiao$

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Beheben Sie das Problem, dass SpringCloud Config die Konfiguration in Kombination mit GitHub nicht lesen kann
  • Detaillierte Erläuterung zweier gängiger Konfigurationsstrategien, wenn Spring Cloud Config Git-Speicher verwendet
  • Detaillierte Erläuterung der Spring Cloud Config-Integration mit Gitlab zum Aufbau eines verteilten Konfigurationscenters
  • Tipps zum Verbinden des Konfigurationsservers mit der Git-Konfiguration

<<:  Lösung für den erfolgreichen Start von MySQL, aber ohne Überwachung des Ports

>>:  xtrabackup MySQL-Datenbank sichern und wiederherstellen

Artikel empfehlen

Detaillierte Erklärung der jQuery-Kettenaufrufe

Inhaltsverzeichnis Kettenanrufe Ein kleiner Koffe...

Schauen wir uns einige leistungsstarke Operatoren in JavaScript an

Inhaltsverzeichnis Vorwort 1. Null-Koaleszenzoper...

Detaillierte Schritte zur Verwendung von Arthas in einem Docker-Container

Was kann Arthas für Sie tun? Arthas ist das Open-...

MariaDB unter Linux startet mit dem Root-Benutzer (empfohlen)

Da ich Sicherheitsprodukte testen musste, wollte ...

24 praktische Tipps zur JavaScript-Entwicklung

Inhaltsverzeichnis 1. Initialisieren Sie das Arra...

Beispielcode zum Konvertieren von Videos mit der ffmpeg-Befehlszeile

Bevor Sie mit dem Haupttext dieses Artikels begin...

Verstehen von MySQL-Deadlock-Routinen durch eindeutige Index-S-Sperre und X-Sperre

In „MySQL-Deadlock-Probleme anhand des Quellcodes...

So zeichnen Sie in CocosCreator ein cooles Radardiagramm

Inhaltsverzeichnis Vorwort Vorschau Text Grafikko...

Informationen zur Installation von Homebrew auf dem Mac

Vor kurzem hat Xiao Ming einen neuen Mac gekauft ...

Lösung für MySql-Fehler 1698 (28000)

1. Problembeschreibung: MysqlERROR1698 (28000)-Lö...

Tiefgreifendes Verständnis der sieben Kommunikationsmethoden von Vue-Komponenten

Inhaltsverzeichnis 1. Requisiten/$emit Einführung...