Git の正しい使用姿勢とベスト プラクティス: チーム コラボレーションとバージョン管理のベスト プラクティス

Git は、ソフトウェア開発プロジェクトにおけるコードの変更を追跡および管理するために使用されるバージョン管理システムです。ファイルの変更、追加、削除を追跡し、これらの変更の履歴を記録できます。Git は、チーム メンバーが開発で共同作業するのに役立ち、同時編集やコードのマージを処理する効果的な方法を提供します。この記事では、Git をより効果的に活用してチーム コラボレーションのためのコードを管理するための、Git の正しい使用姿勢とベスト プラクティスを紹介します。

1. Gitの基本概念

Git には、作業ディレクトリ、ステージ/インデックス、リポジトリの 3 つのローカル作業ドメインがあります。リモート サーバー上の git ウェアハウス (リモート ディレクトリ) を含めると、4 つの作業ドメインに分割できます。関係は次のとおりです。

(1) 4つの作業エリア

  • ワークスペース: ワークスペースは、通常、プロジェクト コードを保存する場所です。
  • インデックス / ステージ: 変更を一時的に保存するために使用されるステージング領域。実際には、これはファイル リストに送信される情報を保存する単なるファイルです。
  • リポジトリ: ウェアハウス領域 (またはバージョン ライブラリ) はデータを保存するための安全な場所であり、すべてのバージョンに送信したデータが含まれています。HEAD はウェアハウスに置かれた最新バージョンを指します
  • リモート: コードをホストするサーバーであるリモート ウェアハウスは、単純にプロジェクト チーム内のリモート データ交換用のコンピューターと考えることができます。

(2) 作業の流れ

git 作業の一般的なプロセス:

  1. 作業ディレクトリ内のファイルを追加および変更する
  2. バージョン管理が必要なファイルをステージング領域に置く
  3. ステージング領域内のファイルを git リポジトリに送信します。

(3) ファイルの4つの状態

  • Untracked: このファイルはフォルダー内にありますが、git ライブラリに追加されておらず、バージョン管理にも参加していません。ステータスは git add によって Staged に変わります。
  • 未変更: ファイルはライブラリに置かれ、変更されていません。つまり、リポジトリ内のファイル スナップショットの内容は、フォルダ内のファイル スナップショットの内容とまったく同じです。このタイプのファイルには 2 つの場所があります。変更されている場合は、 git rm を使用してリポジトリを移動すると、Untracked ファイルになります
  • 変更済み: ファイルは変更されました。変更のみで、他の操作は実行されていません。このファイルにも 2 つの場所があります。git add を使用してステージング状態に入り、git checkout を使用して変更を破棄し、未変更の状態に戻ることができます。この git checkout は、ライブラリからファイルを取得し、現在の変更を上書きします。
  • ステージング: 一時的な状態です。 git commit を実行して、ライブラリへの変更を同期します。このとき、ライブラリ内のファイルとローカル ファイルの整合性が再び整い、ファイルは Unmodify 状態になります。 git replace HEAD filename を実行して、変更をキャンセルします。ステージングされたストレージであり、ファイルのステータスは変更済みです。

2. Gitの基本コマンド

  • git init: 現在のディレクトリに新しい Git リポジトリを作成します。
  • git clone: リモート サーバーからローカル サーバーに Git リポジトリのクローンを作成します。
  • git add filename: Git リポジトリのステージング領域にファイルを追加します。
  • git commit: ステージング領域内のファイルを Git リポジトリに送信します。
  • git status: 倉庫のステータスを確認する
  • git log: コミット履歴の表示
  • git reflog:倉庫の稼働ログを閲覧できます
  • git diff HEAD: 現在のコンテンツと最後に送信されたバージョンの違いを比較します。
  • git checkout filename: ワークスペース コードへの変更を中止します。

3. Git ブランチの操作

分岐は、複数の並列ジョブを実行するときによく使用されます。

  • git branch : 現在のすべてのブランチをリストします。
  • git checkout : 指定したブランチに切り替えます。
  • git merge : 指定されたブランチのコードを現在のブランチにマージします。
  • git rebase : 現在のブランチのコードを指定したブランチに変更します。

4.Git コラボレーション

  • git push: ローカル Git リポジトリのコードをリモート サーバーにプッシュします。
  • git pull: リモート サーバーから最新のコードを取得します。
  • git fetch : リモート サーバーから最新のコードを取得します。
  • git merge : リモート ブランチのコードをローカル ブランチにマージします。

5. バージョンリリース

安定バージョンがリリースされるたびに、そのバージョン用のタグを作成する必要があります。タグを使用すると、コードの特定のバージョンを識別できるため、将来の検索や追跡が容易になります。ラベルを作成する手順は次のとおりです。

  • master ブランチに切り替えます。git checkout master
  • 最新のコードをプルします。git pull origin master
  • ラベルを作成します。git tag -a v1.0.0 -m "Release version 1.0.0"
  • タグをリモート リポジトリにプッシュします。git push origin --tags

6. 遠隔倉庫業務

  1. 通信キーを生成します: ssh-keygen -t rsa -C " [email protected] "。生成された公開キーは、以下に示すように /home/stu/.ssh/ の下にあります。

 2. github または gitee (コード クラウド) との接続があるかどうかをテストします。

 github コマンドをテストします: ssh -T  [email protected]

 

 コード クラウド コマンドである gitee をテストします。

3. プロジェクトのクローンを作成します: git clone プロジェクト アドレス

4. ブランチをリモート ウェアハウスに送信します: git Push 起点ブランチ名

5. ブランチをリモート ウェアハウスに送信し、ブランチを追跡します: git Push -u 起点ブランチ名

6. リモート サーバー上のブランチをプルし、ローカルで更新します: git pull 起点ブランチ名

おすすめ

転載: blog.csdn.net/weixin_53472334/article/details/132394820