Git
このページの日本語版はGoogle翻訳による機械翻訳です。
このガイドは、トレーニング中およびトレーニング後の AGL ワークフローに従います。
Git の基本
Git とは何ですか?
Git はソース コードのバージョン管理システムです。 実際のプロジェクトに参加すると、同じプロジェクトに取り組む多くのエンジニアに出会うことになります。 したがって、スムーズに作業できるようにするには、エンジニア間でコードの競合がないことを保証する Git のようなバージョン管理システムが必要です。 さらに、プロジェクトの要件は頻繁に変化します。 したがって、開発者がコードの古いバージョンにロールバックできるシステムが必要です。
Git をインストールする
ここを参照してください: Git をインストールする
リポジトリ、ブランチとは何ですか?
1. リポジトリとは何ですか?
Repo とも呼ばれるリポジトリは、ベトナム語ではリポジトリと訳され、プロジェクトのすべてのソース コードが Git によって作成される場所です。 もう 1 つの方法は、メイン リポジトリがローカルまたはリモートのプロジェクトを含むディレクトリを宣言していることを理解できます。 リポジトリには、オブジェクト ストアとインデックスという 2 つの主要なデータ構造があり、.git ディレクトリに非表示で保存されます。 まず、Git のリポジトリは、リモート リポジトリとローカル リポジトリの 2 つのタイプに分類されます。
- ローカルリポジトリ: 専用サーバー上に配置された、多人数で共有するためのリポジトリ。
- リモート リポジトリ: 単一のユーザーが使用する、パーソナル コンピュータ上にあるリポジトリです。
通常のジョブではリポジトリがローカルとリモートの2種類に分かれているため、ローカルリポジトリを使用して利用可能なマシン全体で実行できます。 ローカルリポジトリで行った作業内容を公開したい場合は、リモートリポジトリにアップロードして公開します。 さらに、リモート リポジトリを通じて、他の人の作品のコンテンツを取得することもできます。
2. 支店とは何ですか?
エンジニアが関わるプロジェクトの場合、各メンバーがリーダーから多くのタスクを受け取ることになるため、このタスクを同時に処理することはコードクラッシュ(間違ったソースコードを上書きしたりダウンロードしたり)しやすいため非常に困難です。など)。 この問題を解決するために、Git のブランチを使用します。各タスクに対応してブランチを作成して作業します。これらのブランチは個別に動作し、相互に恩恵を受けることはありません。 つまり、ブランチは変更の流れを履歴に記録するブランチであり、各ブランチでの操作は他のブランチに影響を与えないため、リポジトリ上で多くの変更を同時に行うことができ、多くのタスクを同時に解決するのに役立ちます。 リポジトリを作成すると、Git はデフォルト ブランチを master に設定します。これは、Git が独自に master ブランチを作成し、すべての操作が master ブランチ上で行われることを意味します。
Git を使用したワークフロー
このドキュメントでは、一般的に使用される Git コマンドのみを説明します。高度なケースについては、外部ドキュメントを参照してください。
ソースをgitにアップロードするワークフロー
コードを master ブランチにマージすることは、プロジェクト全体に大きな影響を与える非常に重要なステップです。
したがって、コードを秩序正しく最適な方法で管理するには、次のプロセスに従う必要があります。
処理のシーケンス:
- Code を作業ブランチにプッシュします。
- git に移動し、プル リクエスト を作成します。
- メンター/ゲストからの確認を伴うリンク プル リクエストをコピーします。
- バグがある場合は修正します。
- メンター/ゲストがプル リクエストを承認します。
ストレージの場所:
トレーニングを受けている間は、次のコード保存標準に従ってください。
別のブランチ「feature/..」を作成し、ここにソースをアップロードします。
- HTML: フォルダー「/mockup」で使用され、ソース コードをこのフォルダー ==> feature/mockup に置きます。
- WordPress: ディレクトリ「/wp」で使用され、ソースコードをこのフォルダー ==> feature/wp に置きます。
git情報を確認する
このステップでは、git のインストール後に 1 回だけ実行します。
新しいプロジェクトを開始するとき、または既存のプロジェクトに参加するときは、ユーザー名と電子メール アドレスがローカルで設定されていることを確認してください。
$ git config –global –list
情報が間違っている場合は、次のコマンドで情報をリセットします。
$ git config --global user.name "AGL"
$ git config --global user.email "staff@allgrow-labo.jp"
- user.name: Slack 名に対応します
- user.email: 会社から提供される電子メール
--global はすべてのプロジェクトに適用するために使用されます。 --global を使用しない場合、設定はそのプロジェクトにのみ使用されます。
リポジトリをダウンロード
リポジトリをローカルにダウンロードするには、次のコマンドを使用します。
$ git clone https://github.com/user/repository.git
クローンを作成すると、git はリポジトリと同じ名前のフォルダーを自動的に作成しますので注意してください。
Branch (ブランチの作成)
不注意だと混乱する可能性があるため、作業を開始する前に必ずブランチを確認してください。
Git を使用する場合のブランチについては、次のように再グループ化します。 git のデフォルトはブランチ master (main) になります。このブランチに対しては何も操作を実行しません。
- ドキュメントタスク:
feature/docs - コーディングタスク (html,css):
feature/coding - フィードバック修正タスク:
issue/fix-bug - wordpress (テーマ) に関するタスク:
feature/wordpress
ブランチチェック
$ git branch
新しいブランチを作成する
$ git branch <new_branch>
分岐を切り替える
新しいブランチを作成した後、そのブランチに切り替えたい場合は、次のコマンドを使用します。
$ git checkout <new_branch>
1 つのステートメントでブランチを作成し、新しいブランチに切り替える方法があります。
$ git checkout -b <new_branch>
変更を更新する
その日の編集やタスクが完了したら、帰る前にそれらを Git にプッシュする必要があります。
$ git add .
git add コマンドは Git に変更を確認するように指示します。. はすべてのファイル、フォルダーを意味します。
$ git commit -m "コンテンツ"
そしてもちろん、他の人が読んだときにあなたが何をしたかわかるように、あなたが行った内容を簡潔に明確に述べてください。 コミットの正しい書き方は「Commit Lint」(https://github.com/conventional-changelog/commitlint) を参照してください。
Git への更新
コミットが完了したら、次のステップとしてデータを Git にプッシュする必要があります。
$ git push
これで、Git を使用するプロセスの基本が完了しました。 しかし、まだ終わっていません。
次の日も作業を続けて、同じプロジェクトに別のエンジニアが取り組んでいる場合のことを考えながら作業を終え、意見が合わないと面倒なので…。 したがって、プロジェクトで新しい作業を開始する前に「git pull」を使用して、ローカルで最新のデータを確認できるようにします。
$ git pull
一日の仕事を始める前にソースコードを取得する習慣をつけましょう。
ブランチをマージする
リーダーまたはマネージャーは、ソース コードをチェックした後、ブランチをメイン ブランチにマージするように求めます。
まず、現在のブランチをチェックアウトしてマスター (メイン) ブランチにマージする必要があります。
$ git checkout master
次に、merge コマンドを使用して、新しいブランチをマスターにマージします。
$ git merge <マージするブランチ>
ローカルとリモートの非同期が発生すると、コードが競合する状況になるので注意してください。 コードがGitにプッシュされていることを再度確認する必要があります。