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

Lösung für die leere Seite nach einem vue.js-gepackten Projekt

Ich glaube, dass viele Partner, die gerade erst m...

Die umfassendste Erklärung des Sperrmechanismus in MySQL

Inhaltsverzeichnis Vorwort Globale Sperre Vollstä...

Verwendung und Demonstration von ref in Vue

Ref-Definition: Wird verwendet, um Referenzinform...

MySQL 5.7.10 Installations- und Konfigurations-Tutorial unter Windows

MySQL bietet zwei verschiedene Versionen für unte...

React implementiert Paging-Effekt

In diesem Artikel wird der spezifische Code für R...

Tiefes Verständnis der JavaScript-Syntax und Codestruktur

Inhaltsverzeichnis Überblick Funktionalität und L...

Tutorial zum Konfigurieren und Verwenden des i3-Fenstermanagers unter Linux

In diesem Artikel zeige ich Ihnen, wie Sie i3 auf...

Details zur Funktionsverschachtelung und zu Funktionsabschlüssen in js

Inhaltsverzeichnis 1. Geltungsbereich 2. Funktion...

Verwenden Sie Standard-DL-, DT- und DD-Tags, um Tabellenlisten zu verwerfen

Heutzutage beginnen immer mehr Front-End-Entwickle...

Eine kurze Diskussion über die Verwendung der Web Storage API

Inhaltsverzeichnis 1. Lokale Speichertechnologie ...

Detaillierte Erklärung unsichtbarer Indizes in MySQL 8.0

Wort Seit der ersten Version von MySQL 8.0 liegen...

So ändern Sie die Zeichensatzkodierung in MySQL 5.5/5.6 unter Linux auf UTF8

1. Melden Sie sich bei MySQL an und verwenden Sie...