Git の基本的な動作原理の詳細な分析
この記事では、Git に関する関連知識を提供し、主に Git の基本的な動作原理、入門レベルのチュートリアルを紹介し、Git ローカル ウェアハウスを操作して初心者がすぐに Git を使い始めるのに役立ちます。誰もが助けなければなりません。
Git 学習チュートリアル 」
1. パーティションとワークフロー
1. Git パーティション
Git パーティションには、ワークスペース、ステージング領域、ローカル リポジトリ (ローカル リポジトリ)、およびリモート リポジトリ (リモート リポジトリ) が含まれます。ワークスペース ワークスペース (ワークスペース) は、ローカル コードが配置されるディレクトリであり、.git/ (ローカル ウェアハウス) が配置されるディレクトリでもあります。 ) 保存されています。
ステージング領域 ステージング領域 (インデックス/ステージ) は、ワークスペースおよびローカル ウェアハウスのキャッシュ スペースであり、これから作成される情報を記録します。ローカル ウェアハウスに送信される (バージョン ライブラリ) ファイルの変更情報、.git/ ディレクトリ内のインデックス ファイルは一時的な保存領域です。
ローカル ウェアハウス (リポジトリ) ローカル ウェアハウス (リポジトリ) は、ローカル ライブラリまたはバージョン ライブラリとも呼ばれ、すべてのローカル バージョン (コミット送信レコード) を保存します。ローカル ウェアハウス ファイルは .git/ ディレクトリにあります。
リモート ウェアハウスリモート ウェアハウス (リモート) ネットワーク上では、GitHub、Gitee、GitLab でリモート ウェアハウスを作成できます。ローカル ウェアハウスと同様に、リモート ウェアハウスもコードが異なります。バージョンも保存されますが、これらのバージョンは複数のローカル リポジトリから取得することができます。
#2. ワークフロー
上の図は、異なる Git パーティション間の操作コマンドをわかりやすく示しています。
- リモート ウェアハウスのクローンを使用して、リモート ウェアハウスのメイン ブランチをローカル ウェアハウスにコピーします。フェッチ コマンドプルはプルと似ていますが、プルはローカル コードをマージするのに対し、フェッチはローカル ウェアハウスがローカル ウェアハウスであるかどうかに関係なく、最新バージョンのみをローカル リポジトリに取得する点が異なります。
- 2. ローカル ウェアハウスの初期化
- 1. git init
ローカル ウェアハウス (バージョン ライブラリ) は、git init コマンドを使用して作成する必要があります (または、リモート ウェアハウス クローンから直接作成できます (後で紹介します)。
ワークスペース (コード ストレージ ディレクトリ) に入り、「git init」と入力すると、git はワークスペースに新しい .git/ ディレクトリを作成します:
2. .git の簡単な紹介/ directory
新しく作成された .git/ ディレクトリには 3 つのテキスト ファイルがあります:
config はローカル ウェアハウスの構成情報を保存します。
# description はウェアハウスの名前を説明するために使用されます。
- HEAD はローカル ウェアハウスの現在のブランチで、デフォルトは master で、refs/heads/master を指します。 refs/ ディレクトリには主にいくつかのブランチ情報が格納されます;
- 後でローカル ウェアハウスが操作されると、logs/ - 送信されたレコードの保存、index - 一時保存領域などの他のファイルが生成されます。
- [注意]
1. ユーザー名と電子メール構成の概要
ローカル ウェアハウスを初期化した後の最初の作業は、ユーザー構成情報をローカル ウェアハウスに追加することです。 , ユーザー名と電子メール アドレスを含む,ここでのユーザー名と電子メール アドレスは、ホスティング プラットフォーム (gitee など) のアカウントとは直接の関係はありません。
. その唯一の機能は、他のユーザーまたはホスティング プラットフォームに知らせることです。コードのアップローダー情報。メール アドレスが間違っています。入力してもコードをアップロードできなくなります。例として、以下の「Zhang San」と「Li Si」を使用してコードをアップロードしました。電子メール アドレスは本物ではありませんが、アップロードは成功する可能性があります: (コミット情報に誤りがありました)
Li Four の電子メール アドレスは明らかに本物ではありません。
「Zhang San」と「Li Si」のメールアドレスは gitee アカウントに紐付けられていないため、アバターをクリックしてもユーザー情報は表示されません。ユーザー設定メールに が記入されている場合、アップロード者のアカウント情報は gitee で確認できます。
gitee ユーザーの送信メール アドレスは、gitee->個人ホームページ->個人設定->メールボックス管理で設定および表示できます:
2. git config を使用してユーザー情報を構成する
ユーザー名とメール アドレスについて注意すべき点をたくさん説明しましたが、実際、ユーザー情報の構成は非常に簡単です:
git config --global user.name "your name"git config --global user.email "your email"
user.name の後にユーザー名を続け、必要なものを入力します。
user.emailの後にはユーザーのメールアドレスが続きますので、任意に入力してください。
–global は、グローバル プロパティを構成するために使用されます
コードをローカル ウェアハウスに送信するとき、git は最初にローカル ウェアハウスの .git/config ファイルを取得します。ユーザー情報がない場合は、グローバル設定ファイルが使用されます (近接性の原則に沿って)。
グローバル設定ファイルはシステム ユーザー ディレクトリ/ユーザー名/.gitconfig に保存されます。これにはユーザー属性のみが含まれます。
-global が追加されていない場合、ローカル ウェアハウスのユーザー構成のみが設定されます。ローカル ウェアハウスのユーザー構成情報は、.git/config に保存されます。
上の写真は私のものです ローカル設定のユーザー名のみが設定されています このとき、ローカルウェアハウスに変更を送信すると、送信レコード(下記)のユーザー名はローカル設定を使用します。ユーザーのメールボックスがローカルに構成されていない場合でも、メールボックスはグローバル構成で指定されたメールボックスを引き続き使用します。
4. 一時記憶域ファイルの管理
ユーザー情報を設定した後、コードの送信を検討し始めることができますが、考えたくない場合もあります。作業全体について エリア内のすべてのファイルはローカルの倉庫 (バージョン ライブラリ) に送信されます。一時記憶領域 (インデックス/ステージ) の存在により、この問題は解決されます。最初にコード ファイルを一時記憶領域に追加できます。変更する必要があると感じた場合は、一時記憶領域からファイルを削除できます。ファイルが選択されたと感じるまで領域を選択し、ほぼ完了したら、次のステップ (ローカルの倉庫に送信) に進みます。
1. Git ファイルのステータス
ステージング領域を管理する前に、ワークスペース ファイルのいくつかのステータスも把握する必要があります:
- Untracked 未追跡、ステージング領域のファイルはワークスペースに追加されておらず、バージョン管理に参加していません;
- Unmodified 未変更、バージョン管理に追加されていますが、リポジトリ内のファイル スナップショット ;
- Modified は変更され、バージョン管理に追加されており、最後にリポジトリに追加されたときのスナップショットとは異なります;
- Staging はステージングされました。次のステップはローカル ウェアハウス (バージョン ライブラリ) に送信できます。
-------------------------------------- -------下の写真はインターネットからのものです--------------------------- -------- ------------------------
git status コマンドワークスペース ファイルの現在のステータスを表示するために使用できます。 ステータス:
#查看特定文件的状态 git status [filename]#查看所有文件状态 git status #精简的方式显示文件状态 git status -s
2. ファイルを一時記憶領域に追加します。
まず、ワークスペース内のすべてのファイルのステータスを確認し、ファイルがありません:
现在创建3个文件,再次使用git status(-s表示精简显示),3个文件的状态为Untracked,??为精简显示下Untracked的标志,意思是新创的文件没有被本地仓库(版本库)跟踪。
git add [文件…] 可以添加一个或多个文件到暂存区,使文件状态变为Staged,A表示该文件被add到暂存区。
也可以使用 git add . 或 git add -A 将工作区所有文件添加到暂存库(除了.gitignore里声明的文件,本文暂不介绍)。
3. 删除暂存区的文件
既然可以向暂存区添加文件,那么反向操作必然也不能少,git rm --cached [文件…] 命令可以将暂存区的文件移除,使其恢复到Untracked状态。
4. 文件修改管理
如果已经存入暂存区,但在文件提交到本地仓库前,我们对其进行了修改,那么它的状态将变为Modified。
对于Modified状态的文件,我们可以使用git add将修改后的版本加入到暂存区,也可以使用git checkout -- [file...]
将工作区的该文件恢复到暂存区的版本。
git add a.c重新添加a.c到暂存区:
下图为使用git checkout -- a.c
从暂存区恢复a.c文件,下图中我没有加 “ --”,它的作用是让checkout不检测任何其他选项参数,目的是防止该命令把a.c当做一个分支(checkout 还有一个作用是切换分支)。
对Modified状态下的文件使用 git diff 可以得出文件修改的详细记录,git diff和diff命令虽然作用都是对比文件,但git diff的作用是对比不同的状态下的同一文件,而diff用来对比两个不同的文件。
五、提交文件到本地仓库
文件添加到暂存区的目的就是将其提交到本地仓库(版本库),提交命令为git commit -m “message”
我们可以在commit 后面添加文件,这样能指定提交的文件:
通过git log 可以查看提交记录,HEAD为本地仓库当前分支,指向主分支master:
直接使用 git commit -m “message” 可以将整个暂存区都提交到本地仓库:
#以一行的形式显示所有提交版本: git log --pretty=oneline
#一行显示,只显示哈希值的前7位: git log --oneline
#显示历史提交版本与当前版本的间隔数: git reflog
六、推送到远程仓库
代码文件提交到本地仓库后,还需要推送到远程仓库进行托管。
1. 创建远程仓库
我以码云为例,远程仓库的创建可以通过以下三步实现:
2. 添加远程仓库地址
git remote add
如果要用https的方式上传代码,需要添加远程仓库https地址;用ssh上传代码,则url填远程仓库ssh地址。
まず、コード クラウド ウェアハウスのホームページからウェアハウスのアドレスをコピーします:
リモート ウェアハウスの起点のローカル エイリアスに名前を付けます:
リモート ウェアハウスローカルエイリアスが競合しない限り、複数のエイリアスを設定できます。
3. リモート ウェアハウス アドレスを確認する
git Remote -v コマンドでリモート ウェアハウス アドレスを確認することも、git config -l## を通じて確認することもできます。
git リモート 削除
git Push name はローカル ウェアハウスのアップロードを実現できます。名前は構成ファイル内のリモート ウェアハウスのエイリアスです。 https を使用してアップロードします。アップロードを完了するにはアカウントとパスワードを入力する必要があります。Windows システムはアカウントとパスワードを自動的に保存します。Windows が保存したユーザー名とパスワードを変更したい場合は、「Gitee の変更」を参照してください。ログイン認証情報。
最初のアップロードが失敗することがあります。 git Push -u name master を使用してみてください。このコマンドの機能は、ネーム ウェアハウスのメイン ブランチを上流ブランチとして使用することです。 -u および – set-upstream 効果は同じです。
最初のアップロードが失敗する場合があります。 git Push -u name master の使用を試みることができます。このコマンドの機能は、ネーム ウェアハウスのメイン ブランチを上流ブランチとして使用することです。-u と –set-upstream は同じ効果があります。
Git クローン作成では、リモート ウェアハウスをローカル ウェアハウスにコピーし、同時にローカル ウェアハウスを自動的に初期化できます。
任意のディレクトリで Git bash を開き、 git clone
[注意]
: クローン作成にはプッシュと同様にパスワードが必要です。
クローン作成が成功したら、ウェアハウス ディレクトリに入ります。これはアップロード時のワークスペースとまったく同じであり、送信ログも同じです。 2. リモート ウェアハウスの取得 (フェッチ)
git fetch の機能は、リモート ウェアハウスのブランチをローカル ウェアハウスにコピーし、最新バージョンを保存することです。リモート ウェアハウス ブランチを取得した後、それを現在のブランチに手動でマージする必要があります。
コマンド形式: git fetch [ git merge はブランチをマージするために使用されます 3. リモート ウェアハウスをプルする (プル)
git pull は git fetch に似ています。ただし、git pull はリモート ウェアハウスのブランチを現在のローカル ブランチに自動的にマージします。
推奨学習: 「
以上がGit の基本的な動作原理の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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)

ホットトピック









この記事では、Debianシステム上のNginxサーバーのSSLパフォーマンスを効果的に監視する方法について説明します。 Nginxexporterを使用して、NginxステータスデータをPrometheusにエクスポートし、Grafanaを介して視覚的に表示します。ステップ1:NGINXの構成最初に、NGINX構成ファイルのSTUB_STATUSモジュールを有効にして、NGINXのステータス情報を取得する必要があります。 NGINX構成ファイルに次のスニペットを追加します(通常は/etc/nginx/nginx.confにあるか、そのインクルードファイルにあります):location/nginx_status {stub_status

DebianシステムのZookeeperバージョンのアップグレードは、以下の手順に従うことができます。1。アップグレード前に既存の構成とデータをバックアップすると、既存のZookeeper構成ファイルとデータディレクトリをバックアップすることを強くお勧めします。 sudocp-r/var/lib/zookeeper/var/lib/zookeeper_backupsudocp/etc/zookeeper/conf/zoo.cfg/etc/zookeeper/conf/zookeeper/z

Debianにgitlabを展開すると、さまざまなデータベースがあります。検索結果によると、以下はいくつかの一般的なデータベースの選択とその関連情報です。SQLite機能:SQLiteは、シンプルな設計、小さなスペース、使いやすい軽量の埋め込みデータベース管理システムであり、独立したデータベースサーバーは不要です。適用可能なシナリオ:埋め込みデバイスで実行する必要がある小さなアプリケーションまたはアプリケーション用。 MySQLの機能:MySQLは、ウェブサイトやアプリケーションで広く使用されているオープンソースのリレーショナルデータベース管理システムです。

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Debianシステムにgitlabをインストールする手順は次のとおりです。システムパッケージを更新します:sudoapt-getupdateインストール依存関係:sudoapt-getinstall-curlopenssh-serverca-certificatestzdataperl add gitlab公式リポジトリ:curlhttps://packages.gitlab.com

DebianでGitLabプラグインを開発するには、特定の手順と知識が必要です。このプロセスを始めるのに役立つ基本的なガイドを以下に示します。最初にgitlabをインストールすると、debianシステムにgitlabをインストールする必要があります。 GitLabの公式インストールマニュアルを参照できます。 API統合を実行する前に、APIアクセストークンを取得すると、GitLabのAPIアクセストークンを最初に取得する必要があります。 gitlabダッシュボードを開き、ユーザー設定で「アクセストーケン」オプションを見つけ、新しいアクセストークンを生成します。生成されます

Debianシステムにgitlabを展開する場合、特にシステムに別のgitバージョンがインストールされているか、gitlab依存関係とバージョンの競合がある場合、パッケージの競合に遭遇する可能性があります。この記事では、いくつかのトラブルシューティングとソリューションを提供します。 1。準備:最小システム要件を満たします。インストール前に、Debianシステムが十分なメモリ、ディスクスペース、CPUパフォーマンスなど、GitLabの最小リソース要件を満たしていることを確認してください。 2。システムの更新と依存関係のインストールと更新システムソフトウェアパッケージ:次のコマンドを使用して、システムを最新バージョンに更新します:sudoapt-getupdatesudoapt-getupgrade-yインストール必要な依存関係:gitlをインストールする

この記事では、DebianシステムのGitLabプラグインをインストール、構成、使用する方法について説明し、コード管理とコラボレーション効率を向上させます。 GitLabは、チームや個々の開発者向けの強力なオープンソースコードホスティングプラットフォームです。 1。GITLABのインストールと更新システムパッケージ:Sudoapt-GetUpDateのインストール依存関係:sudoapt-getinstall-curlopenssh-serverca-certificatestzdataperl add gitlab公式出典:curlhttps://packages.gitlab.com/in
