はじめに
gitとgithubの使い方,概念を学ぶ
gitとgithubの設定
##gitとgithubのインストール
gitとはバージョン管理システムです.gitHubはgitの機能を使ってインターネット上でソースコードやプロジェクトのファイルを保存・公開・共有できるWebサービスです。
gitを初めて使う時はインストールが必要です.githubはブラウザで使えますので,自分のアカウントを作りましょう.
gitの初期設定
まず,githubで使っているユーザー名を設定します.
git config --global user.name "あなたのGitHubユーザー名"
次にgithubに登録したメールアドレスを設定します.
git config --global user.email "GitHubのメールアドレス"
githubを使う
GitHubで「リモートリポジトリ」を作成する
githubのウェブサイトにログインし,画面右上にあるプラスマークから,New repositoryを作成します.
ローカルレポジトリを作成し,githubと紐づける
PCの任意の場所にフォルダを作り、そのフォルダに移動します。
mkdir my-first-repo
cd my-first-repo
このフォルダをgitで管理し始めます.このコマンドを実行したそのディレクトリ自体をGitの管理下に置く(リポジトリ化する)ので,それ以下のフォルダ全てに適用されます.
git init
先ほど作成したgithubのリポジトリのURLをコピーし,以下のコマンドで設定します.
git remote add origin GitHubリポジトリのURL
コミットとプッシュ
コミットとは,ファイルへの変更を「セーブポイント」として、PC内のローカルリポジトリに記録する操作です.これはオフラインでも行える操作です.
プッシュとは,ローカルリポジトリに記録した新しいコミットの履歴全体を、gitHubなどのリモートリポジトリに送信して反映させる操作です。
git add
コミットを行うには、変更したファイルを一度「ステージングエリア」という仮の場所に置く必要があります。まず,ファイルの変更をステージングエリアに登録します.
以下は,すべてのファイルをステージングエリアに登録するコマンドです.
git add .
指定したファイルのみを登録したい場合は,以下のコマンドを使います.
git add <ファイル名>
コミット
ステージングエリアの内容を確定し、ローカルリポジトリに新しい履歴として保存します。コミットの際はメモを残すことができます.ここでは,「初めてのコミット」というメモを残すことにします.
git commit -m "初めてのコミット"
プッシュ
続いて,以下のコマンドでプッシュをします.
git push origin <ブランチ名>
-u をつけると,PCのローカルブランチと、GitHub上のリモートブランチを紐づけできます。すると次回からは追跡設定されたリモートブランチに対して、送信先やブランチ名を省略してプッシュできます。
git push -u origin <ブランチ名>
ちなみに,3回コミットしてプッシュしたら,3回分プッシュされます.
ブランチ
ブランチとは,プロジェクトの作業履歴をメインの流れから枝分かれさせて記録していく機能です.これは、mainのコードに影響を与えずに,新しい機能の開発や不具合の修正を並行して安全に進めるために使われます.
以下はブランチを作成するコマンドです.
git branch new-branch
現在自分がどのブランチで作業しているかを確認するには,以下のコマンドを使います.現在いるブランチの前に * がついて表示されます.
git branch
チェックアウト
gitの初期からある多機能なコマンドです.
ブランチの移動
git checkout <ブランチ名>
ブランチの作成と移動
git checkout -b <ブランチ名>
過去のコミット状態に戻る
git checkout <コミットID>
特定のファイルだけを復元
git checkout -- <ファイル名>
スイッチ
Gitのバージョン2.23 (2019年) で導入された新しいコマンドです.checkout のうち、ブランチの移動に関する機能だけを切り出して独立させました.ブランチの切り替えや作成を行う場合は,チェックアウトよりスイッチを使うのが現代ベストとされているそうです.
ブランチの移動
git switch <ブランチ名>
ブランチの作成と移動
git switch -c <ブランチ名>
マージ
ブランチのマージとは、異なるブランチで進められていた変更履歴を、一つのブランチに統合させる操作です。開発や修正作業が完了したブランチの内容を、その基になったブランチ(mainなど)に取り込み、コードベースを最新の状態に統一することが目的です。
ここでは例として,mainブランチから
フェッチ,マージ,プル
プルとは,Gitにおける「ダウンロード」操作であり,リモートリポジトリ(github)の最新の変更を自分のローカルリポジトリ(PC内)に取り込むために使われます.
フェッチ
リモートリポジトリ(GitHub)にある新しい履歴や変更内容だけをローカルPCにダウンロードし、確認できるようにするコマンドです.これは,作業中のファイルは更新されず,ローカルリポジトリに「リモートリポジトリの現在の状態」を示す追跡ブランチが更新されるだけです.イメージとしては, GitHubの情報を自分のPCにこっそり持ってきて、中身を確認できるようにする操作です.
git fetch origin <ブランチ名>
マージ
これは,フェッチで持ってきたものを自分の作業中のコードに反映して合体させる操作です.
git merge <ブランチ名>
プル
フェッチとマージを一気にするのがプルです.
追跡設定(-uオプション)がされているブランチであれば、以下のシンプルなコマンドで実行できます。
"""
git pull
"""
ブランチを指定してプルする場合は,以下のコマンドを使用します.
git pull origin <ブランチ名>