Git の原理と使用法

1. 簡単な紹介

Git が登場する前は、ほとんどの企業が依然としてプロジェクト管理に SVN を使用していました。比較を次に示します。

集中型 (SVN):

集中バージョン管理システムには、いくつかの種類の管理を行う単一サーバーがあり、すべてのファイルのリビジョンが保存され、共同作業する人々はクライアントを通じてこのサーバーに接続し、最新のファイルを取り出したり、更新を送信したりします。

利点: 1. 一般的なロジックに沿った便利な管理; 2. 高いセキュリティ; 3. 高いコードの一貫性; 4. 少人数での開発に適している; 4.

デメリット: 1. サーバーへの負荷が高く、データベースの容量が急激に増加する; サーバーに接続できないと基本的に動作しません; 3. オープンソース開発には適していません; 3. オープンソース開発には適していません。

分散 (Git):

分散バージョン管理システムでは、クライアントはファイルのスナップショットの最新バージョンを抽出するだけでなく、元のコード ウェアハウスを完全にミラーリングするため、サーバーがクラッシュした場合でも、ローカル ウェアハウスで復旧できるように、このシステムを指定できます。さまざまなリモート コード ウェアハウスと対話します。

利点: 1. 個人を重視した分散開発に適している; 2. パブリックサーバーの負荷やデータ量が大きすぎない; 3. 高速で柔軟性が高い; 4. 2 人の開発者が競合する可能性が高い; 5. オフライン作業; 6.

欠点: コードの機密性が低く、開発者がライブラリ全体を複製すると、すべてのバージョンとバージョン情報が公開される可能性があります。

2. 構成情報

配置用户名:git config --global user.name “xxx”
配置邮箱:git config --global user.email “xxx"
配置大小写敏感:git config --global core.ignorecase false
查看配置信息:git config --list

3. 基本原則

Git ワークスペース:

1. リモート: リモート ウェアハウス、サーバー ホスティング コード (github に類似)

2. リポジトリ: ウェアハウス領域、つまりローカルウェアハウス (.git フォルダー)。データが安全に保存され、すべてのバージョンのデータが送信されます。HEAD はウェアハウスに置かれた最新バージョンを指します。

3. インデックス/ステージ: 変更を一時的に保存するために使用される一時ストレージ領域は、実際にはファイルであり、ファイル リストに送信される情報を保存するために使用されます。

4. ワークスペース: ワークスペース、つまり編集ファイルの場所。

ここに画像の説明を挿入

上の図に従ってコードを送信するプロセスを理解してください。

1. git add: ワークスペース内のファイルを一時ストレージ領域に送信します。

2. git commit: 一時ストレージ領域内のファイルをローカル ウェアハウスに送信します。

3. git Push: ローカル ウェアハウスをリモート ウェアハウスに送信します。

Git ファイルのステータス:

  • Untracked : Untracked、このフォルダー内にありますが、git ライブラリには追加されず、バージョン管理には参加せず、git add status を通じてステージングされます。
  • 未変更: ファイルはウェアハウスに置かれ、変更されていません。つまり、リポジトリ内のファイルのスナップショットの内容がフォルダと一致しています。このタイプのファイルの抽出には 2 つのタイプがあります。変更されている場合は、これが削除されると、リポジトリ git rm は追跡されなくなります。
  • Modified : ファイルは変更されました。このファイルには 2 つの宛先があり、1 つ目はステージングされ、2 つ目は未変更です。
  • Staged : git commit を実行すると、ライブラリへの変更が同期されます。このとき、ライブラリ内のファイルはローカル ファイルと一致していますが、ファイルは未変更です。git replace HEAD filenameを実行すると一時保存が解除され、ファイルの状態が変更されます。

ここに画像の説明を挿入

4. 基本操作

ここに画像の説明を挿入

以下にいくつかの簡単な操作を示します。

  • ローカルウェアハウスを初期化する

    git init 	# 将本地文件夹变成一个本地仓库
    ll -ah		# 可以看到.git隐藏文件夹
    
  • 新しいファイルを追加する

    git add text.txt		# 新增一个文件
    git commit -m "add a text.txt"	# 提交信息
    
  • 新しいバージョンを送信した後にバグが発生した場合は、バージョンをロールバックします

    git log			# 查看提交的日志
    git reset --head Head^		# 回退到上个版本,^代表回退几个版本(如果已经commit,需要这样回退
    
  • ブランチとタグの管理

    git checkout -b dev 	# 创建dev分支
    git branch				# 查看当前分支
    git checkout master		# 切换到master分支
    git merge dev			# 将dev分支合并到当前分支
    git branch -d dev		# 删除dev分支
    

V. まとめ

実際には、Git には多くの操作コマンドはありません。主なことは、Git の最も重要な部分であるワークスペースとファイルのステータスの概念を理解することです。

Git を使用するとき、私たちは間違いを犯すことを恐れません。実際、エラーを許容する余地がたくさんあり、誰かが突然ライブラリを削除して逃げ出すことを恐れません (笑)。

もちろん、Git コマンドは上記のものよりもはるかに多く、実際の使用において継続的に理解する必要があるコマンドはさらにたくさんあります。

おすすめ

転載: blog.csdn.net/weixin_40620310/article/details/124265291