9.0 少し歴史
ツールGit DVCSが作られた時点から、デフォルトのブランチ名はmaster
だったよ。どのGitリポジトリもmaster
ブランチを持っていた、開発者がそのブランチを削除しようと明確なステップを踏まない限りね。でもmaster
ブランチはソフトウェア開発の世界で重要な役割を果たしているので、削除されることは稀だ。
2020年の夏、コンピュータ業界で使われているmaster
とslave
(主人と奴隷)という用語が、いろいろな抗議や社会の動きに伴って注目を浴びたんだ。その結果として、master
の代わりにdefault
やprimary
などの代替案が提案されたけど、一番人気になったのはmain
だったよ。
GitHubも動いて、リポジトリを初期化する際のmaster
という用語を使わなくなったんだ。GitHubでmaster
からmain
に切り替えるのは、アカウント設定のRepositoriesから可能だよ、もしくはコマンドを使って:
$ git branch -m master main
でも、この先のレクチャーではmaster
という用語を使っていくよ。詳しい移行については、次のリンクを参照してね:
9.1 Gitとは何か、なぜ必要か
Gitは強力なバージョン管理システムだよ、 ソフトウェア開発中にソースコードの変更を 追跡するために使われるんだ。これにより、開発者は ファイルの異なるバージョンを保存したり、複数の 人が共通のプロジェクトに協力して作業することができるよ。
Gitの基本的な概念:
リポジトリ
リポジトリ(または"レポ")はプロジェクトのすべての 履歴が保存されている場所で、すべての変更と ファイルのバージョンが含まれているよ。Gitでは リポジトリは作業ディレクトリ、インデックス(またはステージ) 、オブジェクトデータベースを含むんだ。
コミット
コミット(commit)
はプロジェクトの保存された状態のことだよ。
Gitの各コミットには、プロジェクトにどんな変更が加えられたか、
誰が、いつ加えたのかの情報が含まれているよ。コミットは
プロジェクトの履歴を形成し、いつでも以前のバージョンに
戻ることができるんだ。
ブランチ
ブランチ(branch)
は独立した開発ラインのことだよ。
デフォルトでは、Gitはmain(以前はmaster)
ブランチを作成する。
新しい機能や修正を開発するために新しいブランチを作成し、
その後、それらをメインブランチに戻すことができるんだ。
マージとリベース
マージ(merge)
とリベース(rebase)
は、
一つのブランチから別のブランチに変更を統合するための
二つの方法だよ。マージは二つのブランチの履歴を
統合し、新しいコミットを作成する。一方リベースは
一つのブランチのコミットを別のブランチの頂点に
移動し、コミットの履歴を変更するんだ。
9.2 Gitの基本コマンド
ここにバージョン管理のためのGitの基本コマンドの表があるよ:
コマンド | 説明 |
---|---|
git init |
現在のディレクトリで新しいGitリポジトリを初期化する。 |
git clone |
URLからリポジトリを新しいディレクトリへクローンする。 |
git add |
次のコミットのためにファイルをインデックスに追加する。 |
git commit |
準備された変更をリポジトリにコミットする。 |
git push |
ローカルリポジトリの変更をリモートに送信する。 |
git pull |
現在のブランチをリモートリポジトリから最新のバージョンに更新する。 |
git branch |
ブランチを表示したり、作成したり、削除する。 |
git merge |
指定されたブランチの変更を現在のブランチにマージする。 |
git rebase |
変更を新しいベース(通常は別のブランチ)に移す。 |
これらはGitでの作業の基本的なツールで、コードの変更、ブランチや マージを管理し、どんなサイズのプロジェクトでも使うことができるよ。 これらについては、次のレクチャーで詳しく学んでいくよ。
9.3 コードの保存場所3つ
コードのバージョン管理システムを使うとき、コードは大まかに言って 3つの場所に保存されることになるよ:
1. リモートリポジトリ:
これはコードを集中して保存する場所で、 通常はGitHub、GitLabやBitbucketといった サービスにホストされているよ。これらは中央集権的なコード保存を 提供し、共同作業の基盤となっているんだ。
リモートリポジトリは、開発者が変更を共有し、 努力を同期し、プロジェクトの変更履歴を 管理することを可能にする。また、リモートリポジトリは アプリケーションのビルド、テスト、デプロイメントなど 自動化プロセスの統合ポイントとして機能する。
2. ローカルリポジトリ:
ローカルリポジトリは、あなたのコンピュータに保存されている 個人的なコードのコピーのことだよ。このリポジトリで、インターネットに 接続する必要なしに、Gitのすべての操作(コミット、ブランチ、マージ)を 実行できるんだ。
ローカルリポジトリにより、開発者は同僚から孤立して作業し、 実験し、新しい機能を作成したり、エラーを修正したりすることが できる。そして、その後、変更を統合(マージ)し、リモート リポジトリに送信する。
3. 作業ディレクトリ:
コンピュータ上の作業ディレクトリは、今あなたが作業中の プロジェクトの最新ファイルを含んでいる。ここで、 ファイルを見ることも、内容を変更することも、新しい 機能を追加したり、エラーを修正したりすることができるよ。
変更を加えた後、それらをインデックス(ステージングエリア)に 追加し、ローカルリポジトリにコミットすることができる。 作業ディレクトリは、あなたのリポジトリの現在の ブランチとリンクしており、ブランチを変更すると 作業ディレクトリの内容も変更される。
これらのコンポーネントは一緒になって、ソースコードを管理するための 強力なインフラを提供し、プロジェクトの履歴を管理し、共同作業を 行い、コードの責任を分担することを可能にする。
9.4 GitHubは最も人気のある無料のリポジトリ
GitHub— これはソースコードをホストするための主要なウェブプラットフォームで、 バージョン管理システムGitを使用しているだよ。 2008年に設立されてから、世界中の開発者にとって重要な ツールの一つとなった。
GitHubは、ユーザーがプロジェクトを管理するための リポジトリを作成してコードの変更を追跡し、 他の開発者と共同作業を行い、オープンまたは 非公開で開発を行うことを可能にしているよ。 フォーク、ブランチ、プルリクエスト、マージなどの 機能を提供しており、開発者がプロジェクトを簡単に 共同作業することができるんだ。
GitHubには、問題の追跡、機能のリクエスト、 タスクの管理や、各プロジェクトのための wiki機能が含まれているんだ。プラットフォームは 多くのツールやサービスと統合されており、開発の自動化、 テスト、およびアプリケーションのデプロイメントのための 多くの機能を提供しているよ。
GitHubは広範な開発者コミュニティをサポートしており、 プログラミングのベストプラクティスや プロジェクト管理などについて活発に議論されている。 これにより、単なるプロジェクト管理ツールであるだけでなく、 開発者が知識を共有し、経験を交換することのできる コミュニティの中心となっているんだ。
9.5 GitHubに登録
ステップ 1. https://github.com にアクセスしてね
ステップ 2. 登録してね…
ステップ 3. 新しいリポジトリを作成するために「New」ボタンを押してね。
ステップ 4. リポジトリ名を指定し、その設定を行ってね。
ステップ 5. プロジェクトにREADMEファイルを追加してね - これは今後必要になるよ。
ステップ 6. 「Create repository」を押してね。
GO TO FULL VERSION