用語の定義
・Git
分散型バージョン管理システム
Gitを用いてバージョン管理をすることで、コード編集をする度にいちいち日付やファイル名を変更してファイルを更新しなくても、簡単にファイルの編集履歴を管理することが出来る
・リポジトリ
ファイルやディレクトリ(フォルダ)の状態を記録する場所
保存された状態は、内容の変更履歴として格納されている
変更履歴を管理したいディレクトリをリポジトリの管理化に置くことで、そのディレクトリ内のファイルやディレクトリの変更履歴を記録することができる
・リモートリポジトリ
専用のサーバーに配置して複数人で共有するためのリポジトリ
GitHub、Bitbucket、GitLab
GitHub … Webサービス、無料プランでは、最大500MBまで使用可能
BitBucket … 無料プランでは、プライベートリポジトリを持つ5ユーザまで
GitLab … 利用者自身のオンプレミスまたはクラウド環境にインストールして使用可能
・ローカルリポジトリ
ユーザー 一人ひとりが利用するために、自分の手元のマシン上に配置するリポジトリ
・クローン
リモートリポジトリをローカルリポジトリにコピーする
・インデックス
コミットの対象となるファイルを置いておく場所
変更内容は、インデックス(ステージング)しないとコミットできない
・コミット
インデックスから、ファイルをローカルリポジトリに保存すること
コミット時には、内容を記載するための コミットメッセージ(どんな変更内容か?) が必要
・プッシュ
ローカルリポジトリをリモートリポジトリに送信すること
自分が加えた変更内容を複数の人が共有するリポジトリへ反映する
・プル
リモートリポジトリのうち、ローカルリポジトリにないものだけを持ってくること
他の人が加えた変更をローカルリポジトリに取り込む
・フェッチ
リモートリポジトリに変更がないか確認すること
・ブランチ
作業履歴を枝分かれさせて記録すること
類似の派生アプリを作成したり、大規模な変更を行うときに使用する
・マージ
ブランチ同士を結合し、変更を反映させること
・タグ
コミットに対して特定の名前を付けることができることをタグという
リリースやバージョンなどを付けることができる
・スタッシュ
Gitリポジトリで一時的に変更を退避させるためのコマンド
変更を退避させることで、一時的に他のブランチに切り替えたり、別の作業を行ったりすることができる。
GitHub上にリポジトリを作成
- GitHubにサインイン
- 左上の Top Repositories の横にある [New] ボタンをクリック
- Repository name にリポジトリ名を入力
- Description に説明(概要)を入力
- 公開(Public) or 非公開(Private)を選択
- Add a README file を有効にする
- [Create repository] ボタンをクリック
非公開リポジトリにアクセス可能なユーザーを登録する
- GitHub上で、対象リポジトリを選択
- [Settings] をクリック
- [Collaborators] をクリック
- [Add people] ボタンをクリック
- ユーザーのメールアドレスを入力する
- 対象者を選択する
- [Add “メールアドレス” to this repository] ボタンをクリック
リモートリポジトリをローカルリポジトリにクローン
- Sourcetreeを起動し、[Clone]ボタンをクリック
- リモートリポジトリ(ネットワーク上に存在する共有データ)のURLを設定
GitHubリポジトリのページ上で[<>Code]の緑ボタンをクリックするとClone用のURLが表示される - 保存先のパスは、指定フォルダ内にフォルダやファイルが存在しないこと
- 名前は、Sourcetree上のタブに表示する文字列を設定する
ファイルの追加
- リポジトリフォルダ内に追加するファイルを作成
- Sourcetreeでリポジトリ状況を確認する
- [作業ツリーのファイル]に対し、[全てインデックスに追加]ボタンをクリック (ステージング)
この操作でファイルがコミット対象となる
コミット
- [作業ツリーのファイル]に対し、[全てインデックスに追加]ボタンをクリック (ステージング)
(または、コミット対象のファイルを選択して、[選択をインデックスに追加]ボタンをクリック) - ウィンドウ左上の[コミット]ボタンをクリック
- ウィンドウ下端にコメントを入力する
- ウィンドウ右下の[コミット]ボタンをクリック
クローン側の変更内容をクローン元に反映する
[プッシュ]ボタンをクリックし、更に[プッシュ]ボタンをクリック
クローン元の変更内容をクローンに反映する
[プル]ボタンをクリックし、更に[プル]ボタンをクリック
ファイルの変更
- リポジトリ内のファイルを変更する
- [作業ツリーのファイル]に対し、[全てインデックスに追加]ボタンをクリック (ステージング)
- コミットする
ファイルの移動
- リポジトリ内のファイルを任意に移動する
- [作業ツリーのファイル]に対し、[全てインデックスに追加]ボタンをクリック (ステージング)
- コミットする
変更を破棄
- 新たに追加したフォルダやファイルを削除する
※ フォルダを作成してファイルを移動した場合、ファイルはSourcetree上で削除が可能だがフォルダは手動 - 既存のファイルは、[作業ツリーのファイル]内にあるファイルを選択、右クリックで[元に戻す]を選択
ブランチの作成
- [ブランチ]ボタンをクリック
- 新規ブランチ名を入力
- [ブランチを作成]ボタンをクリック
ブランチを切り替える
ウィンドウ左の「ブランチ」から切り替え先のブランチを右クリックし、「◯◯をチェックアウト」を選択
ブランチをマージする
「master」ブランチに「new-branch」ブランチの変更を反映する場合
- ウィンドウ左の「ブランチ」から「master」を右クリックし、「◯◯をチェックアウト」を選択
- ウィンドウ左の「ブランチ」から「new-branch」を右クリックし、「現在のブランチにnew-branchをマージ」を選択
新しいローカルリポジトリを作成する
- Sourcetreeを起動し、[Create]ボタンをクリック
- 保存先のパスと名前を入力する
※保存先のフォルダは事前に生成する必要はない - [作成]ボタンをクリック
VS Code での git の使い方
branchの作成
- ウィンドウ上部の入力ボックスをクリックし、[コマンドの表示と実行]を選択
- > git create branch と入力
- branch名を入力
branchの選択
- ウィンドウ上部の入力ボックスをクリックし、[コマンドの表示と実行]を選択
- > git checkout と入力
- branchを選択
コメント