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

Schritte zur Verwendung von ORM zum Hinzufügen von Daten in MySQL

【Vorwort】 Wenn Sie ORM zum Bedienen von Daten in ...

Verschiedene korrekte Haltungen zur Verwendung von Umgebungsvariablen in Webpack

Inhaltsverzeichnis Schreiben Sie vor Geschäftscod...

Das Prinzip und die Implementierung des JS-Drag-Effekts

Die Drag-Funktion wird hauptsächlich verwendet, u...

Der Unterschied zwischen schreibgeschützt und deaktiviert

Um es zusammenzufassen: „Nur lesen“ ist nur für Ei...

Zusammenfassung der HTML-Formatierungsstandards für webbasierte E-Mail-Inhalte

1. Seitenanforderungen 1) Verwenden Sie standardm...

Zusammenfassung gängiger Begriffe in CSS (Cascading Style Sheet)

Wenn Sie CSS verwenden, vergessen Sie nicht, DOCTY...

Standardmäßige Stilanordnung von HTML4.0-Elementen

Code kopieren Der Code lautet wie folgt: html, Ad...

MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen

Dieser Artikel erläutert anhand von Beispielen di...

Die detaillierteste Methode zur Installation von Docker auf CentOS 8

Installieren Sie Docker unter CentOS 8 Offizielle...

So installieren Sie die Odoo12-Entwicklungsumgebung unter Windows 10

Vorwort Da viele Freunde sagen, dass sie keinen M...

Analyse des Docker-Compose-Image-Release-Prozesses des Springboot-Projekts

Einführung Das Docker-Compose-Projekt ist ein off...

Beispiel für eine Methode zum Festlegen von MySQL-Fremdschlüsseln

1. Methode zum Festlegen des Fremdschlüssels 1. U...

Das Raster ist Ihr Layoutplan für die Seite

<br /> Englisches Original: http://desktoppu...