Git-Nutzung (von flach bis tief)

  • Verzeichnisflussdiagramm
    Fügen Sie hier eine Bildbeschreibung ein

1. Verteilte Versionskontrolle und zentralisierte Versionskontrolle

1.1 Zentralisierte Versionskontrolle

  • Zu den zentralisierten Versionskontrollsystemen gehören: CVS und SVN
  • Ihr Hauptmerkmal ist ein einziger zentral verwalteter Server, der Revisionen aller Dateien speichert;
  • Kollaborative Entwickler stellen über den Client eine Verbindung zu diesem Server her und rufen die neuesten Dateien ab oder übermitteln Aktualisierungen.

Fügen Sie hier eine Bildbeschreibung ein

  • Vorteile und Nachteile
    • Im Vergleich zum altmodischen lokalen Management kann jeder bis zu einem gewissen Grad sehen, was alle anderen im Projekt tun.
  • Doch die zentralisierte Versionskontrolle hat auch ein Kernproblem: Der zentrale Server kann nicht ausfallen:
  • Wenn die Festplatte, auf der sich die zentrale Datenbank befindet, beschädigt ist und keine ordnungsgemäße Sicherung durchgeführt wird, gehen mit Sicherheit alle Daten verloren;

1.2 Verteilte Versionskontrolle

  • Zu den verteilten Versionskontrollsystemen gehören: Git
    Fügen Sie hier eine Bildbeschreibung ein
  • Vorteile und Nachteile:
    • Der Client extrahiert nicht nur die neueste Version des Datei-Snapshots, sondern spiegelt das Code-Warehouse vollständig wider, einschließlich des vollständigen Verlaufs.
    • Auf diese Weise kann bei einem Ausfall eines für die Zusammenarbeit genutzten Servers jedes gespiegelte lokale Warehouse zur anschließenden Wiederherstellung genutzt werden;
    • Denn jeder Klonvorgang ist eigentlich eine vollständige Sicherung des Code-Repositorys ;

2. Installation und Konfiguration

Installations- und Konfigurationsreferenz

  • Benutzername und E-Mail-Konfiguration
$ git config --global user.name "username"
$ git config --global user.email "[email protected]"

3. Git-Befehlszeilenoperationen

Grundlegende Unterrichtsvoraussetzung

1. 克隆项目  `git clone 项目地址`
2. 初始化仓库` git init`
3. 添加暂存区 `git add .`
4. 提交本地仓库 `git commit -m 项目初始化`
5. master分支创建release分支` git branch release`
6. 基于master分支创建develop分支 `git branch develop`
# 推送master分支
git push -u origin master
# 推送release分支
git push origin release
# 推送develop分支
git push origin develop
# 在任意目录操作  (仓库地址仅供参考)
git clone https://gitee.com/zd1231230/doctor-demo.git
# 拉取其他分支
git fetch 项目地址 分支名称:别名
git fetch https://gitee.com/zd1231230/doctor-demo.git drugPayment:drugPayment

3.1 ADMU-Logo

  • M modifiedSie haben die Datei zu Github hinzugefügt. Wenn Sie die Datei dann ändern, wird sie nach der Datei mit „M“ markiert.
  • U untrackedWenn Sie diese Datei lokal erstellen und nicht an Github übermittelt haben, wird sie mit U markiert
  • D deleteWenn Sie diese Datei löschen, zeichnet vscode-git diesen Status auf
  • AEs wurde noch nicht im Staging-Bereich eingereicht.

3.2 Grundlegende Befehle für die Projektinitialisierung und -übermittlung

  1. Erstellen Sie ein leeres Verzeichnis (vorzugsweise ohne Chinesisch).
$ mkdir gitMaster
$ cd gitMaster
$ pwd
/Users/git/gitMaster
  1. Lager initialisierengit init
$ git init
Initialized empty Git repository in /Users/hxk/mymenu/.git/
  1. Fügen Sie Dateien zum Repository hinzu
$ git add test.txt
  1. Senden Sie Dateien an das Lager
    • - m Nachfolgend finden Sie die Anweisungen zur Einreichung
    • Der übermittelte Kommentar ist falsch, Sie können git commit --amendihn ändern
$ git commit -m "a new file"
  1. Commit-Verlauf anzeigen
git log
  1. Status anzeigen
$ git status

3.3 Dateistatusverfolgung und Betriebsprozess

  • Dateien können bei der Übermittlung in 跟踪和未跟踪Status unterteilt werden

    • 未跟踪: Standardmäßig werden Dateien im Git-Warehouse nicht zur Git-Warehouse-Verwaltung hinzugefügt. Wir müssen den Befehl add verwenden.
    • 已跟踪: Zur Git-Lagerverwaltung hinzugefügte Dateien befinden sich in einem verfolgten Zustand und Git kann verschiedene Verfolgungs- und Verwaltungsfunktionen für sie durchführen.
  • Überprüfen Sie den Status einer Datei

git status –s
git status --short
  • Verfolgte Dateien können in Unterteilungsstatus unterteilt werden
    • staged: Dateistatus im Pufferbereich;
    • UnmodifiedMit dem Befehl :commit können Sie bereitgestellte Dateien an das Git-Repository senden
    • Modified: Nachdem eine Datei geändert wurde, befindet sie sich im Status „Geändert“.
      Fügen Sie hier eine Bildbeschreibung ein
  • Befehls-Trace-Dateien git add .und fügen Sie sie dem Staging-Bereich hinzu
    Fügen Sie hier eine Bildbeschreibung ein
  • Übermittlung von Dateiaktualisierungen – git commit - mÜbermittlungsanweisungen
    Fügen Sie hier eine Bildbeschreibung ein

3.4 Übermittlungsverlauf und Versions-Rollback

git log   // 提交的日志 (里面包含提交的id)   q 退出
git log --pretty=oneline --graph  //简短的提交历史日志 (可以看到分支的提交结构)
git log --pretty=oneline

Fügen Sie hier eine Bildbeschreibung ein

  • Wenn Sie ein Versions-Rollback durchführen möchten, müssen Sie wissen, in welcher Version Sie sich derzeit befinden. Git zeichnet die aktuelle Version über den HEAD-Zeiger auf.
    Fügen Sie hier eine Bildbeschreibung ein
  • git reset--hard HEAD ^^ Vorherige Version
  • git reset--hard HEAD~1000~Mehrere Versionen in Zahlen
  • git reset--hard 595674bdc04935452e583b360e714238b1295bf7Version angeben

3,5 Git-Dateien ignorieren

  • .gitignorefiles, listet die Muster der zu ignorierenden Dateien auf
    ;
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_Store
dist
dist-ssr
coverage
*.local

/cypress/videos/
/cypress/screenshots/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
src/views/User/components/ConsultItem.vue

3.6 Remote-Server

  • Remote-Lager anzeigen
git remote
git remote –v
-v是—verbose的缩写(冗长的)

Fügen Sie hier eine Bildbeschreibung ein

  • Remote-Adresse hinzufügen: Lassen Sie das lokale Warehouse und das Remote-Server-Warehouse eine Verbindung herstellen
git remote add <shortname> <url>
git remote add origin http://152.136.185.210:7888/gitremotedemo.git
重命名远程地址: git remote rename master newMaster
移除远程地址:  git remote remove gitlab
  • Spezifische Schritte
// 重要 添加远程地址(让本地的仓库和远程服务器仓库建立连接):
//  git remote add < shortname > <url>
  0. git init    // 初始化
  1.  git remote add origin  https://gitee.com/zd1231230/in.git   // 关联远程仓库
  2.0  git push --set-upstream origin newFetch 提交到远程仓库
  2.1   git pull https://gitee.com/zd1231230/in.git master  拉取仓库到主分支
  3.  新建仓库 newFetch
  4.   git commit -a -m "初始化"
  5. push

Fügen Sie hier eine Bildbeschreibung ein

  • 注意点Ziehen Sie nach der Verknüpfung mit dem Remote-Warehouse den Zweig und führen Sie ihn zusammengit pull
git pull 等于  git fetch + git merge(rebase)

3.7 Zweigerstellung, -wechsel und -zusammenführung

  • Zweigstellenerstellung
git branch 分支名
  • Erstellen Sie einen Zweig und führen Sie ihn zusammen
git checkout -b <newbranchname>
  • Zweigstellenzusammenlegung
git merge <name>
  • Zweige anzeigen und löschen
  • git branch# Alle aktuellen Filialen anzeigen
  • git branch –v# Sehen Sie sich auch den letzten Commit an
  • git branch --merged# Alle mit dem aktuellen Zweig zusammengeführten Zweige anzeigen
  • git branch --no-merged# Alle Zweige anzeigen, die nicht mit dem aktuellen Zweig zusammengeführt wurden
  • git branch –d hotfix# Den aktuellen Zweig löschen
  • git branch –D hotfix# Erzwungenes Löschen eines Zweigs

3.8 Filialen verfolgen

  • Problem 1: Der aktuelle Zweig verfügt über keinen Gleiszweig
    Fügen Sie hier eine Bildbeschreibung ein
  • Grund: Der aktuelle Zweig wird nicht mit dem Remote-Ursprungs-/Master-Zweig verfolgt
    • Ohne Tracking führen wir direkt aus pull操作的时候必须指定从哪一个远程仓库中的哪一个分支中获取内容;
  • Direkte Ausführung
git push  origin master
  • Wenn wir git fetch direkt ausführen wollen, gibt es eine Voraussetzung: Für den aktuellen Branch muss ein Tracking-Branch gesetzt sein.
    Fügen Sie hier eine Bildbeschreibung ein

4. Git-Workflow (Git-Flow)

  • Aufgrund der Bequemlichkeit der Verwendung von Zweigen auf Git wurden viele Git-Workflows erstellt:
    • Mit anderen Worten: Sie können in verschiedenen Phasen des gesamten Projektentwicklungszyklus mehrere offene Zweige gleichzeitig haben;
    • Sie können bestimmte Themenzweige regelmäßig mit anderen Zweigen zusammenführen;
  • Beispielsweise der folgende Workflow:
    • masterals Hauptzweig;
    • developAls Entwicklungszweig und wenn es eine stabile Version gibt, wird er mit dem Hauptzweig zusammengeführt.
    • topicWird als Zweig eines bestimmten Themas, einer bestimmten Funktion oder Funktion entwickelt und nach Abschluss der Entwicklung in den Entwicklungszweig integriert.
git fetch 项目地址 分支名称:别名
git fetch https://gitee.com/zd1231230/doctor-demo.git dev:dev

Fügen Sie hier eine Bildbeschreibung ein
Artikelreferenz zum Git-Flow-Workflow-Diagramm : Rebase- und Tag-Tags
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/weixin_46104934/article/details/131361858
Empfohlen
Rangfolge