gitその3、git詳細解説その3_PHPチュートリアル
gitパート3、git詳細説明パート3
1. statusコマンドとdiffコマンド
以前に readme.txt ファイルを正常に追加して送信しました。readme.txt を次のように変更します。
リーリーgit status コマンドを実行して結果を確認します。
リーリーgit status コマンドを使用すると、ウェアハウスの現在のステータスを追跡できます。上記は、readme.txt が変更されたことを示していますが、送信する準備ができている変更はありません。
git diff コマンド:
リーリー名前のとおり、git diff は差分を表示するためのもので、上記のコマンド出力からわかるように、最初の行に「distributed」という単語を追加しました。
readme.txt に変更を加えた後、それをウェアハウスに送信します。変更の送信と新しいファイルの送信は、同じ 2 つのステップ、git add と git commit です。 リーリー
注意
- ワークスペースのステータスを追跡するには、 git status コマンドを使用します。
- git status でファイルが変更されたことが示された場合は、git diff を使用して変更内容を表示できます。
2. バージョンのロールバック
ここで、もう一度練習して、readme.txt ファイルを次のように変更してください:
リーリー
readme.txtを再度送信しますリーリー
これまで何度も書類を提出しましたが、どの書類があるのか知りたいですか?バージョン管理システムには、履歴を表示できるコマンドが必要です。Git では、git log コマンドを使用して表示します。 リーリーgit log コマンドは、最新のものから最も遠いものまで 3 つのサブミッションを表示します。最新のものは add distribution、そして最も古いものは write a readme file です。 Commit 36281**2e1e0 はコミット ID (バージョン番号) です。出力情報が多すぎると思われる場合は、
$ git log --pretty=onelineを使用すると、3628164...882e1e0 のような一連のコミット ID (バージョン番号) が表示されます。 。 新しいバージョンが送信されるたびに、Git は実際にそれらをタイムラインに自動的につなぎ合わせます。次に、readme.txt を以前のバージョン (「配布追加」のバージョン) にロールバックします。
まず、Git は現在のバージョンがどのバージョンであるかを知る必要があります。Git では、最新のコミット 3628164...882e1e0 (私のコミット ID はあなたのものとは明らかに異なることに注意してください) を表すために HEAD が使用されます。以前のバージョンは HEAD^ です。 もちろん、100^ と書いた方が前のバージョンを 100 個数えやすいので、
HEAD~100と書きます。 ここで、現在のバージョン「append GPL」を以前のバージョン「add distribution」にロールバックしたい場合は、git restart コマンドを使用できます:
リーリー
3、新しいバージョンに復元 前のセクションのバージョンのロールバックに続いて、readme ファイルを作成して以前のバージョンにロールバックを続けることができますが、ここでリポジトリの git ログのステータスを見てみましょう:
リーリー
最新バージョンの Append GPL は表示されなくなりました。 21 世紀から 19 世紀へタイムシャトルに乗ったようなもので、戻りたくても戻れない場合はどうすればよいでしょうか?
右側の環境がまだ存在している限り、追加 GPL のコミット ID が 3628164... であることがわかります。したがって、将来に遡ってバージョンを指定できます:
リーリーバージョン番号全体を書き留める必要はなく、最初の数桁だけを書き留めれば、Git が自動的に見つけてくれます。もちろん、最初の 1 つか 2 つだけを書くことはできません。Git は複数のバージョン番号を見つけて、それがどれであるかを判断できない可能性があるからです。
readme.txtの内容が閲覧できます $ cat readme.txt
.Git のバージョンのロールバックは、Git が現在のバージョンを指す内部 HEAD ポインターを持っているため、非常に高速です。バージョンをロールバックすると、Git は HEAD を、GPL の追加を指すものから、配布を追加するものに変更するだけです。
4. git reflog コマンド
これで、特定のバージョンにロールバックしましたが、新しいバージョンに復元したい場合はどうすればよいでしょうか?新しいバージョンのコミット ID が見つからない場合はどうすればよいですか?
Git
なら安心です。$ git replace --hard HEAD^ を使用して追加分散バージョンにロールバックし、その後、追加 GPL に復元する場合は、追加 GPL のコミット ID を見つける必要があります。 Git は、実行したすべてのコマンドを記録するコマンド git reflog を提供します。 リーリー 2行目を見ると、append GPLのコミットIDが3628164であることがわかり、再度見つけることができます。
以下の 2 つのセクションから学ぶことができることに注意してください:
- 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
然后,在工作区新增一个LICENSE文本文件
echo "LICENSE is a new file." > LICENSE
用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"
一旦提交后,如果你又没有对工作区做任何修改,用git status查看下,没有任何内容,现在版本库变成了这样,暂存区就没有任何内容了:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











DeepSeekをインストールするには、Dockerコンテナ(最も便利な場合は、互換性について心配する必要はありません)を使用して、事前コンパイルパッケージ(Windowsユーザー向け)を使用してソースからコンパイル(経験豊富な開発者向け)を含む多くの方法があります。公式文書は慎重に文書化され、不必要なトラブルを避けるために完全に準備します。

Deepseekai ToolユーザーガイドとFAQ Deepseekは、強力なAIインテリジェントツールです。 FAQ:異なるアクセス方法の違い:Webバージョン、アプリバージョン、API呼び出しの間に機能に違いはありません。アプリは、Webバージョンのラッパーにすぎません。ローカル展開は蒸留モデルを使用します。これは、DeepSeek-R1のフルバージョンよりもわずかに劣っていますが、32ビットモデルには理論的には90%のフルバージョン機能があります。居酒屋とは何ですか? Sillytavernは、APIまたはOllamaを介してAIモデルを呼び出す必要があるフロントエンドインターフェイスです。壊れた制限とは何ですか

最高の通貨取引プラットフォーム: バイナンス:多くの取引ペア、低料金、高度な機能を備えた世界最大のもの。 OKX:デリバティブ取引プラットフォームは優れており、低料金とフレンドリーなインターフェイスがあります。 gate.io:多くのトークンの選択肢、高度な取引オプション、低料金があります。 Bitget:フォローアップ取引と定量的戦略のイノベーションをワンクリックします。

Gate.io(Sesame Open Door)は、世界をリードする暗号通貨取引プラットフォームです。このチュートリアルでは、アカウントの登録とログイン、KYC認定、FIAT通貨とデジタル通貨充電、取引ペアの選択、制限/市場取引注文、注文およびトランザクションレコードの表示などの手順を把握しているため、暗号通貨取引のためのgate.ioプラットフォームを迅速に開始できます。 初心者であろうとベテランであろうと、このチュートリアルから利益を得て、gate.ioの取引スキルを簡単に習得できます。

Binance、OKX、およびgate.ioは、トップ3にランクされています。これらのプラットフォームには、取引手数料、セキュリティ、取引流動性、製品とサービス、および顧客サポートに独自の利点があります。

グレイスケール投資:機関投資家が機関や投資家にデジタル通貨投資サービスを提供するための機関投資家が入国します。同社はいくつかの暗号信託を立ち上げました。これは広範な市場の注目を集めていますが、これらの資金のトークン価格に対する影響は大きく異なります。この記事では、Grayscaleの主要なCrypto Trust Fundsの一部を詳細に紹介します。 Grayscale Major Crypto Trust Fundsは、Grayscale Investment(2013年にDigitalCurrencyGroupによって設立された)で利用可能なさまざまなCrypto Asset Trust Fundsを管理し、機関投資家と順応の高い個人を提供する投資チャネルを提供します。その主な資金には、ZCASH(ZEC)、SOL、

トップマーケットメーカーのキャッスル証券のビットコインマーケットメーカーへの参入は、ビットコイン市場の成熟度の象徴であり、将来の資産価格設定力を競うための従来の金融勢力の重要なステップです。ブルームバーグによると、2月25日、シタデル証券は暗号通貨の流動性プロバイダーになろうとしています。同社は、Coinbaseglobal、Binanceholdings、Crypto.comが運営する取引所など、さまざまな取引所でマーケットメーカーのリストに参加することを目指していると、この問題に精通している人々は述べています。取引所によって承認されると、当社は当初、米国外にマーケットメーカーチームを設立することを計画していました。この動きは標識だけではありません

2025年に最も推奨されるデジタル通貨交換のトップ10: Binance:世界最大の交換は、さまざまな取引ペアとデリバティブを提供します。 OKX:さまざまな革新的な製品を備えた契約取引とデリバティブに焦点を当てています。 Gate.io:幅広い取引ペアと投資オプションをサポートする確立された交換。 Bitget:永続的な契約およびオプション取引プラットフォーム、高いレバレッジ、低料金。 Huobi Global:さまざまな貿易品種や金融商品を備えた中国で確立された交換。 バイビット:暗号デリバティブの取引、高いレバレッジ、低遅延の専門家。 クコインなど。
