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

Mac VMware Fusion CentOS7 Konfiguration statisches IP-Tutorial-Diagramm

Inhaltsverzeichnis Installieren Sie CentOS7 Konfi...

Lösen Sie das Problem beim Ausführen von Jupyter Notebook auf dem Server

Inhaltsverzeichnis Auf dem Server läuft Jupyter N...

Einführung und Verwendung von Triggern und Cursorn in MySQL

Trigger-Einführung Ein Trigger ist eine spezielle...

Analyse und Praxis des serverseitigen Rendering-Prinzips von React

Die meisten Leute haben schon einmal vom Konzept ...

Mit CSS3 erstellte Buchseitenumblättereffekte

Ergebnis:Implementierungscode: html <!-- Wenn ...

Schritte zum Öffnen des MySQL-Binlogs

Binlog ist eine binäre Protokolldatei, die zum Au...

Wie gut wissen Sie über die Vererbung in JavaScript?

Inhaltsverzeichnis Vorwort Die Beziehung zwischen...

Implementierung des CSS Fantastic Border Animation-Effekts

Heute habe ich auf der Blog-Site shoptalkshow ges...

Lösung für den Fehler 1045, wenn Navicat eine Verbindung zu MySQL herstellt

Beim Herstellen einer Verbindung mit der lokalen ...

So installieren Sie MySQL auf CentOS und richten den Fernzugriff ein

1. Laden Sie die MySQL-Repo-Quelle herunter $ wge...

Implementierungscode für unendliches Scrollen mit n Containerelementen

Szenario So rendern Sie Listen mit bis zu 10.000 ...

Grundlegende MySQL-Tabellenabfragen – häufige Fehler beim Left-Join

Überblick Bei kleinen und mittelgroßen Projekten ...