Inhaltsverzeichnis
git之三,git详解之三
Heim Backend-Entwicklung PHP-Tutorial git之三,git详解之三_PHP教程

git之三,git详解之三_PHP教程

Jul 12, 2016 am 08:56 AM
diff git Und zahlen 命令 Land Erfolg uns 添加 详解

git之三,git详解之三

1、status命令与diff命令


  前面我们已经成功地添加并提交了一个readme.txt文件,修改readme.txt如下:

echo "Git is a distributed version control system. " > readme.txt
echo "Git is free software." >> readme.txt
Nach dem Login kopieren

  运行git status命令看看结果:

$ git status
...
no changes added to commit (use "git add" and/or "git commit -a")
Nach dem Login kopieren

  git status命令可以让我们时刻掌握仓库当前的状态,上面显示,readme.txt被修改过了,但还没有准备提交的修改。

  git diff这个命令看看:

$ git diff readme.txt
...
-Git is version control system.
+Git is a distributed version control system.
Git is free software
Nach dem Login kopieren

  git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。

  readme.txt作了什么修改后,再把它提交到仓库,提交修改和提交新文件是一样的两步,git add和git commit:

$ git add readme.txt
$ git commit -m "add distributed"
Nach dem Login kopieren

注意

  • 要随时掌握工作区的状态,使用git status命令。
  • 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

2、版本回退


  现在,再练习一次,修改readme.txt文件如下:

echo "Git is a distributed version control system." > readme.txt
echo "Git is free software distributed under the GPL." >> readme.txt
Nach dem Login kopieren

  我们再次提交一次readme.txt

$ git add readme.txt
$ git commit -m "append GPL"
Nach dem Login kopieren

  我们现在已经提交多次文件,想看看有那些?版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:

$ git log
commit 3628164fb26d48395383f8f31179f24e0882e1e0
Date: Tue Aug 25 15:11:49 2015 +0000
append GPL
commit ea34578d5496d7dd233c827ed32a8cd576c5ee85
Date: Tue Aug 25 14:53:12 2015 +0000
add distributed
commit cb926e7ea50ad11b8f9e909c05226233bf755030
Date: Mon Aug 24 17:51:55 2015 +0000
wrote a readme file
Nach dem Login kopieren

  git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。commit 36281**2e1e0是commit id(版本号)。如果嫌输出信息太多,可以使用$ git log --pretty=oneline,此时你看到的一大串类似3628164...882e1e0的是commit id(版本号)。

  每提交一个新版本,实际上Git就会把它们自动串成一条时间线。现在准备把readme.txt回退到上一个版本,也就是“add distributed”的那个版本,怎么做呢?

  首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

  现在,我们要把当前版本“append GPL”回退到上一个版本“add distributed”,就可以使用git reset命令:

$ git reset --hard HEAD^
HEAD is now at ea34578 add distributed
Nach dem Login kopieren

3、重新恢复到新版本


  接着上节版本回退,还可以继续回退到上一个版本wrote a readme file,不过我们现在看看版本库的状态git log:

$ git log
Nach dem Login kopieren

  最新的那个版本append GPL已经看不到了!好比你从21世纪坐时光穿梭机来到了19世纪,想再回去已经回不去了,肿么办?

  只要右侧环境还在,就可以找到那个append GPL的commit id是3628164...,于是就可以指定回到未来的某个版本:

$ git reset --hard 3628164
HEAD is now at 3628164 append GPL
Nach dem Login kopieren

  版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

  可以查看readme.txt的内容 $ cat readme.txt .

  Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向append GPL改为指向add distributed。

4、git reflog命令


  现在,你回退到了某个版本,当想恢复到新版本怎么办?找不到新版本的commit id怎么办?

  在Git中可以放心下。当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:

$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file
Nach dem Login kopieren

  这样可以看到,第二行显示append GPL的commit id是3628164,这样我们就可以重新找到了。

  注意,我们从这两节中可以了解到:

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

5、基本概念


工作区:就是你在电脑里能看到的目录,learngit文件夹就是一个工作区,比如我们环境中当前的目录。

版本库:工作区有一个隐藏目录.git 这个不算工作区,而是Git的版本库。

暂存区:英文叫stage,或index。一般存放在git 目录下的index文件(.git/index)中,所以我们把暂存区时也叫作索引(index).

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

我们把文件往Git版本库里添加的时候,是分两步执行的:

  • 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
  • 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以现在git commit就是往master分支上提交更改。

你可以简单理解为,需要提交的文件修改通通放到暂存区,然后一次性提交暂存区的所有修改。

实践理解暂存区


现在我们对readme.txt做个修改,比如追加一行内容:

echo "Git has a mutable index called stage." >> readme.txt
Nach dem Login kopieren

然后,在工作区新增一个LICENSE文本文件

echo "LICENSE is a new file." > LICENSE
Nach dem Login kopieren

用git status查看一下状态,Git显示结果,readme.txt被修改了,而LICENSE还从来没有被添加过,所以它的状态是Untracked。

现在,使用两次命令git add,把readme.txt和LICENSE都添加后,用git status再查看一下,通过图可以理解为:

所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

$ git commit -m "understand how stage works"
Nach dem Login kopieren

一旦提交后,如果你又没有对工作区做任何修改,用git status查看下,没有任何内容,现在版本库变成了这样,暂存区就没有任何内容了:

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1111691.htmlTechArticlegit之三,git详解之三 1、status命令与diff命令 前面我们已经成功地添加并提交了一个readme.txt文件,修改readme.txt如下: echo "Git is a distributed...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Zusammenfassung der FAQs für die Verwendung von Deepseek Zusammenfassung der FAQs für die Verwendung von Deepseek Feb 19, 2025 pm 03:45 PM

Deepseekai Tool User Guide und FAQ Deepseek ist ein leistungsstarkes KI -Intelligent -Tool. FAQ: Der Unterschied zwischen verschiedenen Zugriffsmethoden: Es gibt keinen Unterschied in der Funktion zwischen Webversion, App -Version und API -Aufrufen, und App ist nur ein Wrapper für die Webversion. Die lokale Bereitstellung verwendet ein Destillationsmodell, das der Vollversion von Deepseek-R1 geringfügig unteren ist, das 32-Bit-Modell theoretisch 90% Vollversionsfunktion. Was ist eine Taverne? SillyTervern ist eine Front-End-Oberfläche, die das KI-Modell über API oder Ollama anruft. Was ist Breaking Limit

Was sind die KI-Tools? Was sind die KI-Tools? Nov 29, 2024 am 11:11 AM

Zu den KI-Tools gehören: Doubao, ChatGPT, Gemini, BlenderBot usw.

Laden Sie die Top Ten Exchange -Plattformen im Währungskreis herunter. Laden Sie die Top Ten Exchange -Plattformen im Währungskreis herunter. Feb 20, 2025 pm 06:18 PM

Die beste Währungshandelsplattform: Binance: Die weltweit größte, mit vielen Transaktionspaaren, niedrigen Gebühren und fortgeschrittenen Funktionen. OKX: Die Derivatehandelsplattform ist ausgezeichnet, mit geringen Gebühren und freundlicher Schnittstelle. GATE.IO: Es gibt viele Token -Auswahlmöglichkeiten, fortschrittliche Handelsoptionen und niedrige Gebühren. Bitget: One-Click-Follow-up-Handel und quantitative Strategieinnovation.

Sesam Open Door Login Registrierung Eingangstor Sesam Open Door Login Registrierung Eingangstor Mar 04, 2025 pm 04:51 PM

Gate.io (Sesam Open Door) ist die weltweit führende Kryptowährungsprüfung. Das Tutorial umfasst Schritte wie Kontoregistrierung und Anmeldung, KYC -Zertifizierung, Fiat -Währung und digitale Währungsaufladung, Handelspaarauswahl, Grenz-/Markttransaktionsbestellungen sowie Bestellungen und Transaktionsaufzeichnungen, wodurch Sie schnell auf der Gate.IO -Plattform für den Kryptowährungshandel beginnen. Egal, ob ein Anfänger oder ein Veteran, Sie können von diesem Tutorial profitieren und die Handelsfähigkeiten von Gate.io problemlos beherrschen.

Die zehn besten Handelsplattformen der virtuellen Währung in China werden empfohlen. Die zehn besten Handelsplattformen der virtuellen Währung in China werden empfohlen. Feb 27, 2025 pm 05:15 PM

Binance, OKX und Gate.io rangierten unter den ersten drei. Diese Plattformen haben ihre eigenen Vorteile in Bezug auf Transaktionsgebühren, Sicherheit, Transaktionsliquidität, Produkte und Dienstleistungen und Kundenbetreuung.

Top 10 Digitalwährungsbörsen 2025 Empfohlene Liste der führenden Währungshandelsplattformen Top 10 Digitalwährungsbörsen 2025 Empfohlene Liste der führenden Währungshandelsplattformen Feb 27, 2025 pm 06:00 PM

Die zehn meist empfohlenen digitalen Währungsbörsen im Jahr 2025: Binance: Der weltweit größte Austausch, der eine Vielzahl von Handelspaaren und Derivaten bietet. OKX: Konzentrieren Sie sich auf Vertragshandel und Derivate mit einer Vielzahl innovativer Produkte. Gate.io: Eine etablierte Börse, die eine breite Palette von Handelspaaren und Investitionsoptionen unterstützt. Bitget: Perpetual Contract und Option Trading Platform, hohe Hebelwirkung und niedrige Gebühren. Huobi Global: Ein gut etablierter Austausch in China mit einer Vielzahl von Handelssorten und Finanzprodukten. BYBIT: Experte für Handel mit Kryptoderivaten, hoher Hebel und geringe Latenz. Kucoin und so weiter.

Delphi Digital: Wie kann man die neue KI -Wirtschaft verändern, indem sie die neue Elizaos V2 -Architektur analysiert? Delphi Digital: Wie kann man die neue KI -Wirtschaft verändern, indem sie die neue Elizaos V2 -Architektur analysiert? Mar 04, 2025 pm 07:00 PM

ElizaOSV2: Erleichterung der KI und Führung der neuen Wirtschaft von Web3. Dieser Artikel wird sich mit den wichtigsten Innovationen von Elizaosv2 befassen und wie er eine KI-gesteuerte zukünftige Wirtschaft prägt. KI -Automatisierung: Es war ursprünglich ein KI -Framework, der sich auf Web3 -Automatisierung konzentrierte. Mit der V1 -Version kann AI mit intelligenten Verträgen und Blockchain -Daten interagieren, während die V2 -Version erhebliche Leistungsverbesserungen erzielt. Anstatt nur einfache Anweisungen auszuführen, kann KI Workflows unabhängig verwalten, Geschäft betreiben und finanzielle Strategien entwickeln. Architektur -Upgrade: Verbessert a

See all articles