GitHub に関して
基礎的な事
GitHubは、ソフトウェア開発のプラットフォームであり、以下の機能を提供します。
-
バージョン管理 (Git): プロジェクトの変更履歴を記録し、過去の状態に戻ったり、複数の人が同時に作業したりすることを可能にします。
-
コラボレーション: 複数の開発者が同じプロジェクトで共同作業するための機能を提供します。プルリクエストによるコードレビューや、Issueトラッキングなどが含まれます。
-
ホスティング: 作成したコードをオンライン上に保存し、公開・共有することができます。
簡単に言えば、GitHubは「みんなで一緒にソフトウェアを作るための場所」であり、「変更履歴を管理しながら安全に開発を進めるためのツール」です。
よく使うコマンド (Gitコマンドが中心になります)
GitHubの操作は、主にGitというバージョン管理システムを通じて行われます。よく使うGitコマンドは以下の通りです。
-
git init: 新しいGitリポジトリをローカルに作成します。プロジェクトのルートディレクトリで一度だけ実行します。
-
git clone
: リモートリポジトリ(GitHub上などにあるリポジトリ)をローカルにコピーします。 -
git add
: 指定したファイルをステージングエリアに追加します。変更をコミット(記録)する準備をします。 -
git commit -m "
": ステージングエリアにある変更をローカルリポジトリに記録します。コミットメッセージは変更の内容を簡潔に記述します。 git status: ローカルリポジトリの状態を表示します。変更されたファイルやステージングされているファイルなどを確認できます。 -
git log: コミットの履歴を表示します。
-
git branch: ブランチの一覧を表示したり、新しいブランチを作成したりします。
-
git branch
: 新しいブランチを作成します。 -
git checkout
: 指定したブランチに移動します。 -
git merge
: 現在のブランチに指定したブランチの変更を統合します。 -
git push origin
: ローカルリポジトリの指定したブランチの変更をリモートリポジトリ(originは通常、クローン元のリモートリポジトリを指します)にアップロードします。 -
git pull origin
: リモートリポジトリの指定したブランチの最新の変更をローカルリポジトリにダウンロードして統合します。
使用例
簡単なWebサイトのプロジェクトを例に、GitHubの基本的な使い方を見てみましょう。
ローカルリポジトリの作成:
cd my-website
git init
これにより、my-websiteディレクトリに.gitという隠しディレクトリが作成され、Gitの管理が始まります。
ファイルの追加と最初のコミット:
index.html, style.css, script.js などのファイルを作成した後、以下のコマンドを実行します。
git add .
git commit -m "Initial commit: Add basic HTML, CSS, and JS files"
git add . は、現在のディレクトリ以下の全ての変更されたファイル(新規作成も含む)をステージングエリアに追加します。
リモートリポジトリの作成と接続:
GitHubのウェブサイト上で新しいリポジトリを作成します(例: my-website-repo)。作成後、リモートリポジトリのURL(例: https://github.com/your-username/my-website-repo.git)が提供されます。ローカルリポジトリにこのリモートリポジトリを登録します。
git remote add origin https://github.com/your-username/my-website-repo.git
origin は通常、リモートリポジトリのエイリアスとして使われます。
ローカルの変更をリモートにプッシュ:
ローカルのコミットをリモートリポジトリにアップロードします。
git push origin main
通常、最初のプッシュでは -u オプションを追加して、ローカルブランチとリモートブランチを紐付けます。
git push -u origin main
以降は git push だけで済みます。
新しい機能の開発 (ブランチの利用):
新しい機能を追加する際は、メインブランチ (main や master) から新しいブランチを作成して作業します。
git checkout -b new-feature
# ここで新しい機能の開発作業を行う
git add .
git commit -m "Add new feature"
git push origin new-feature
GitHub上でこのブランチに対するプルリクエストを作成し、コードレビューや議論を経て、最終的にメインブランチにマージします。
他の人の変更を取り込む:
他の人がリモートリポジトリに変更をプッシュした場合、自分のローカルリポジトリにもその変更を取り込むために git pull を実行します。
git checkout main
git pull origin main
これらのコマンドと流れを理解することで、GitHubを使った基本的な開発ワークフローをこなすことができるようになります。