Git、GitHubを用いたファイル管理
今回作成したこの記事において、基本となる操作の実践編です。 リモートリポジトリはGitHubに作成して管理を行います。
作業の流れは 作業の流れ と同じです。
開発するプロジェクトの中心となるリポジトリをリモートサーバー等に作成する。(プロジェクト毎に初回のみ)
ステップ1で作成したリポジトリをローカル(自分のPC)に複製する。(ユーザー・PC毎に初回のみ)
ファイルの編集・追加・削除
ローカルリポジトリに変更内容を記録
リモートの変更内容をローカルに反映させる (このページでは行いません)
ローカルの変更内容をリモートのリポジトリに反映させる
注意
このチュートリアルは極めて基本的な操作によるものです。 実際にGitを使ってファイルを管理する際は作業用ブランチの作成などをすることが一般的だと思いますがここでは行いません。そのような操作は個別に作成しているのでそちらのページを参照してください。
1 GitHubにリモートリポジトリを作成
まずは GitHub にリモートリポジトリを作成しましょう。
VScodeやSourceTreeなどのGitクライアントでGitHubと連携するとクライアント上でリモートリポジトリの作成などもできますが、今回はWebブラウザでGitHubにアクセスしてリポジトリを作成します。
1-1 GitHubにアクセス
最初に GitHub にログインしましょう。
GitHub: https://github.com/
1-2 新規リポジトリ作成
新規リポジトリ作成画面で入力する情報は以下のようになっています。
- Owner
リポジトリのオーナーにするアカウントを指定します。
- Repository name
リポジトリの名前を入力します。中身が何かわかるような名前にしましょう。
- Description
リポジトリの概要です。日本語も使えます。
- Public/Private
リポジトリの公開設定です。後からでも変更できます。
- Initialize this repository with
- Add a README file
- チェックを入れるとリポジトリ作成時にREADMEファイルを作成します。このREADMEファイルにマークダウン形式でリポジトリの説明やプログラムの使い方などを記載しておくとGitHubでリポジトリを開いた時に内容が表示されます。理由は後述しますが、作っておくことをオススメします。
- Add .gitignore
リポジトリ作成時にプルダウンから選択したテンプレートの.gitignoreファイルをリポジトリに追加します。.gitignoreファイルで指定されているファイルはGitの追跡から無視されます。
- Choose a license
リポジトリのライセンスを選択し、テンプレートから作成します。リポジトリを公開する場合はライセンスが設定されてないと使いたい側の人間が困るので好みのライセンスを設定しておきましょう。
今回は以下のように設定してみました。内容を確認して問題なければ Create repository をクリックしてリポジトリ作成しましょう。
1-3 リポジトリのアドレスのコピー
README 、 .gitignore 、LICENSE のいずれかを追加していて、リポジトリにファイルとコミットがある場合、以下のような画面が表示されると思います。
リポジトリが作成できたことを確認できたら、次のステップに進む準備をします。 <>code と書いてあるボタンからこのリポジトリのアドレスを入手しましょう。
今回はSSHで通信を行う予定なのでSSHタブに記載されているアドレスをコピーします。
2 リポジトリをローカル(自分のPC)に複製
ファイル編集などは基本的にローカルで行うので、先ほどGitHubで作成したリポジトリをローカルに複製します。 方法は様々ですが、TortoiseGitを使用するのが楽なので今回はTortoiseGitを使用します。
2-1 プロジェクトを保存したい場所をエクスプローラーで開く
プロジェクトのフォルダ(作業ディレクトリ)を作成したいフォルダをエクスプローラーで開きます。場所は任意です。
2-2 TortoiseGitでリモートリポジトリを複製する
先ほど開いたフォルダで からTortoiseGitを立ち上げます。
.git )と README 、 LICENSE が複製されています。
ヒント
デフォルトのオプションで複製(クローン)を行った場合、リモートリポジトリのデフォルトブランチからローカルのブランチが作成され、そのローカルブランチにチェックアウトした状態になります。(リモートリポジトリのデフォルトブランチのスナップショットが作業ディレクトリに書き出された状態)
3 ファイルの編集・追加・削除
今回はVScodeを使用してみます。理由としてはVSCodeを使えば、コーディングなどファイルの編集からデバッグからGitの操作まで行えるからです。
3-1 VSCodeで作業ディレクトリを開いてファイルを編集
先程のプロジェクトフォルダーで から、VSCodeでプロジェクトフォルダを開きます。
エクスプローラータブで README.md をクリックして開きます。
エディターでファイルの内容を任意に編集して Ctrl + s で保存しましょう。
3-2 ファイルを追加
test.txt というテキストファイルを作成してみましょう。
ヒント
ファイル名は拡張子まで記入してください。
3-2 ファイルを削除
LICENSE は特に使わないので削除してしましましょう。LICENSE )を か、選択して Delete でファイルを削除できます。
4 ローカルリポジトリに変更内容を記録
今回は README.md の変更、 test.txt の追加、 LICENSE の削除をまとめてコミットしてみます。
複雑な操作ではないので、ファイルの編集から引き続きVSCode上で作業していきましょう。
4-1 コミットするファイルをステージングエリアに追加(ステージング)
ヒント
この時、ファイル名の右側に表示されているアルファベットはファイルの状態を表しています。
表示される文字 |
単語 |
意味 |
|---|---|---|
A |
added |
インデックスに追加された |
M |
modified |
変更された |
U |
untracked |
Gitに追跡されていない |
D |
deleted |
削除された |
C |
conflict |
コンフリクト発生中 |
R |
renamed |
名前が変更された |
S |
submodule |
サブモジュール |
4-2 コミット
コミットしたいファイルをステージングしたら、コミットメッセージを入力して ✓コミット をクリックしてコミットします。
コミットができているかコミット履歴を見て確認してみましょう。ソース管理画面の時計のようなアイコンをクリックするとコミット履歴がエディター画面に開きます。(アドオンの機能です)
また、右側に表示されている main 、 origin/main はブランチの位置を示しています。「origin/」がついているものはリモートリポジトリのブランチ、ついていないものがローカルのブランチです。
今回のコミットで、ローカルのブランチ main の先頭のコミットは今回のコミットになっています。まだ、リモートへは変更を反映していないので origin/main は最初のコミットが先頭のままです。
5 ローカルの変更内容をリモートのリポジトリに反映
ここまでで変更履歴をローカルリポジトリにコミットすることができましたが、そのコミットはまだローカルにしかない状態です。 手順4、5の流れを繰り返し、ローカルの変更履歴をリモートに反映できる状態になったらプッシュを実行します。
5-1 プッシュする
VSCodeでは、選択しているブランチでリモートにないコミットがある場合はソース管理画面の 変更の同期 からプッシュを行えます。 クリックして先ほどのコミットをプッシュしましょう。
送信タブを展開するとプッシュする対象のコミットを確認することができます。
プッシュしたらGitHubにも反映されているか確認してみましょう。 webブラウザでリモートリポジトリのページを開くと以下のようになっていました。
コミットの数が増えて変更も反映されているので問題なさそうですね。
以上が基本の操作の流れになります。
実際に作業をする場合は手順3のファイルの編集をする際に作業用のブランチを作成したりなど必用に応じて操作を追加してください。 各種操作については その他操作 にて個別に操作手順を整理しています。
