この記事では、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 サイトの他の関連記事を参照してください。

GitとGithubは、最新の開発者にとって不可欠なツールです。 1.バージョン制御にGitを使用します。並列開発のためのブランチを作成し、ブランチをマージし、エラーをロールバックします。 2。チームのコラボレーションにはGitHubを使用します:PullRequestを介したコードレビューでマージ競合を解決します。 3.実用的なヒントとベストプラクティス:定期的に送信し、メッセージを明確に送信し、.gitignoreを使用し、コードベースを定期的にバックアップします。

GitとGithubは同じものではありません。Gitは分散バージョン制御システムであり、GithubはGitに基づいたオンラインプラットフォームです。 GITは、開発者がコードバージョンを管理し、分岐、マージ、その他の機能を通じてコラボレーションを実現するのに役立ちます。 GitHubは、コードホスティング、レビュー、問題管理、ソーシャルインタラクション機能を提供し、GITのコラボレーション機能を強化します。

GITをインストールした後、より効率的に使用するには、次の設定が必要です。ユーザー情報の設定(名前とメールボックス)選択テキストエディターセット外部マージツールSSHキー設定を生成します。

解決:gitのダウンロード速度が遅い場合、次の手順を実行できます。ネットワーク接続を確認し、接続方法を切り替えてみてください。 GIT構成の最適化:ポストバッファーサイズ(Git Config -Global HTTP.Postbuffer 524288000)を増やし、低速制限(GIT Config -Global HTTP.LowsPeedLimit 1000)を減らします。 Gitプロキシ(Git-ProxyやGit-LFS-Proxyなど)を使用します。別のGitクライアント(SourcetreeやGithubデスクトップなど)を使用してみてください。防火を確認してください

ゆっくりとしたGITダウンロードの原因には、ネットワーク接続の低下、GITサーバーの問題、大ファイルまたは大規模な提出物、GIT構成の問題、コンピューターリソースが不十分、マルウェアなどのその他の要因が含まれます。回避策には、ネットワーク接続の改善、ファイアウォール設定の調整、不要なファイルのダウンロードや送信の避け、GIT構成の最適化、適切なコンピューターリソースの提供、マルウェアのスキャンと削除が含まれます。

ローカルGitコードを更新する方法は? Git Fetchを使用して、リモートリポジトリから最新の変更を引き出します。 Git Merge Origin/<リモートブランチ名>を使用して、地元のブランチへのリモート変更をマージします。合併から生じる競合を解決します。 Git Commit -M "Merge Branch< Remote Branch Name>"を使用してください。マージの変更を送信し、更新を適用します。

GITコードを更新する手順:コードをチェックしてください:gitクローンhttps://github.com/username/repo.git最新の変更を取得:gitフェッチマージの変更:gitマージオリジン/マスタープッシュ変更(オプション):gitプッシュオリジンマスター

次の手順でgitブランチを削除できます。1。ローカルブランチを削除します:git branch -d< branch -name>を使用してください。指示; 2。リモートブランチを削除します:git push< remote-name>を使用します。 - デレート< branch-name>指示; 3。保護されたブランチ:Git Config Branchを使用します。 < branch-name>。保護されている保護ブランチ設定を追加するためにtrueを保護します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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