t
GitHubを活用する場合の方法を残しておきたいと思います。
GitHubのインストールや設定とローカルリポジトリからリモートリポジトリへのgit push、マージを通してGitHubのmasterへの反映まで実施、再度編集用にクローンするところまでの一連の流れ一式となります。
単独作業想定により、レビューのルーチンは除外しています。
目次
- 1.GitHubのアカウント作成方法
- 2.公開鍵の設定方法
- 3.「git push」について、リモートリポジトリにプッシュする方法
- 4.プルリクエストとマージを実行する方法
- 5.リモートリポジトリをクローンする方法
1.GitHubのアカウント作成方法
Gitで作成、コミットなどしたものを皆で共有してバージョン管理を行うためにはGitHubを使用します。
GitHubを活用するためにはアカウントの作成が必要になります。
ここでは、アカウントの作成方法を具体的な画面を表示しながら説明します。
1.1.GitHubのURLへのアクセスとサインアップ
はじめに以下URLにアクセスします。
すると、以下のような画面が表示されます。
右上のサインアップをクリックします。
すると、以下のようなユーザーアカウント登録画面が表示されます。
1.2.ユーザーアカウント登録画面への入力
ここでは、「ユーザー名」、「メールアドレス」、「パスワード」を入力します。
入力が完了したら、一番下の「アカウントを作成する」をクリックします。
すると、入力した「メールアドレス」に「パスコード」が送られてきます。
1.3.パスコードの入力
送られてきた「パスコード」を「パスコード入力画面」に入力します。
「パスコード入力画面」でパスコードを入力して画面展開すると、続いて、順に質問画面が表示されます。
1.4.各種質問画面への入力
はじめに、チームメンバーの数や学生か先生かなどを選択します。
使用するのに興味がある機能、ツール類を選択します。
有料か無料かのプランの選択になります。
あとで変更はできますので無料でよければ「Continue for free」を選択します。
以上でアカウント作成は完了となります。
2.公開鍵の設定方法
GitHubに対して操作を行う時には認証が必要になります。
ここでは、認証用の設定としてSSHの登録を説明します。
2.1.鍵の生成(公開鍵、秘密鍵)
まずはじめに、
$cd ~/.ssh
にて鍵を入れるフォルダに移動します。
続いて次のコマンドで鍵を生成します。
オプションをつける場合もありますが、なしの場合は、「id_rsa」と「id_rsa.pub」の2つの鍵が生成されます(id_rsa:秘密鍵、id_rsa.pub:公開鍵)。
$ssh-keygen -t rsa
以下のように表示されたら、「Enter」をクリックします。
Generating public/private rsa key pair. Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
次に、以下のように「Enter passphrase (empty for no passphrase)」ということで、パスフレーズを入力してくださいと表示されるのでパスフレーズを入力します。
特になしでいい場合には、何も入力せず「Enter」をクリックします。
Enter passphrase (empty for no passphrase):
続いて、「Enter same passphrase again」のように、再入力してくださいと表示されるのでもう一度同じものを入力します。
Enter same passphrase again:
2.2.公開鍵の設定
ここまで終了したら、公開鍵をGitHubの設定画面に登録するために以下のコマンドでクリップボードにコピーしておきます。
(Windows)
clip < ~/.ssh/id_rsa.pub
(Mac)
pbcopy < ~/.ssh/id_rsa.pub
GitHubにログインして初期画面を開きます。
以下のように画面右上のアイコンから設定画面(Settings)を選択して開きます。
設定画面にて、左側メニューの「SSH and GPS Keys」をクリックします。
画面右側の「New SSH Key」をクリックします。
以下の画面で、「Title」にタイトルを入力し、「Key」には先程コピーしておいた公開鍵情報をペーストします。
すべて入力が完了したら、「Add SSH Key」をクリックします。
これで設定は完了です。
2.3.設定の確認
正しく設定できたことを確認するために以下のコマンドを入力します。
ssh -T git@github.com
ここで、
Are you sure you want to continue connecting (yes/no)?
と聞かれたら、「yes」を入力します。
続いて、
Enter passphrase for key '・・・・・':
と聞かれたら、パスフレーズを入力します。
最終的に、
Hi (account名)! You've successfully authenticated, but GitHub does not provide shell access.
と返ってきたら設定は成功しています。
3.「git push」について、リモートリポジトリにプッシュする方法
GitHubのアカウント作成などGitHub使用の設定が終了し、Gitを活用したファイル編集、「git add」、「git commit」まで終了していれば、次にコミットした結果をリモートリポジトリにプッシュします。
これには、「git push」を使用します。
ここでは、自分のローカル側に、編集、「git add」、「git commit」まで行ったブランチちとして、「update_branch」があるものとします。
それに対して、以下のように実行することで、自分のローカル側のブランチである「update_branch」をリモートリポジトリの同名のブランチにプッシュすることができます。
git push origin update_branch
ちなみに、ブランチ名を省略して、
git push origin
とすると、現在チェックアウトしているブランチがその同名のブランチにプッシュされます。
また、オプションとして、「-f」または、「--force」を追加することで、強制プッシュすることができます。
これは、「git push」やその後のプルリクエストなどでコンフリクトが発生して、操作ができなくなってしまった場合などで、このブランチをプッシュすることで間違いないような場合にこれを行うことで強制的にプッシュすることができるものです。
以下の場合には、ローカル側の「master」ブランチをリモートリポジトリ側の同名のブランチに強制プッシュします。
git push -f origin master
4.プルリクエストとマージを実行する方法
ここでは、「git push」まで終了した後のプルリクエストとマージの方法について説明します。
個人ベースでの活用を念頭にレビュー、レビュー依頼の部分は省略したシンプルな内容でのやり方になります。
「git push」まで終了したら、次はブラウザでGitHubに入ります。
4.1.リポジトリ選択、「Pull Requests」タブ選択
ログイン後の初期画面で該当するリポジトリを選択します。
リポジトリ選択後の画面で、以下のように「Pull Requests」タブを選択します。
4.2.新規プルリクエスト用画面展開とブランチの選択
展開した画面で、以下のように「New pull request」ボタンをクリックします。
表示された以下のような画面で該当するブランチを選択します。
4.3.新規プルリクエストへの必要情報入力と作成
表示された画面で以下のように「タイトル」と「コメント」を入力し「Create pull request」をクリックします。
以下の例では、「タイトル」に”テスト”、「コメント」に”コメント”が入っています。
(ここでレビュアーを指定する場合には、右側の「Reviewers」に選択しますが(以下の例では表示はありません)、ここではレビュアーは指定しない場合でやっていきます。レビュアーを指定する場合には、あらかじめ「Settings」→「Collaborators」での設定が必要になります。)
これにより、作成されたプルリクエストは「Pull requests」タブを選択すると表示されます。
上記は、「Pull requests」タブをクリックした結果で、「テスト」というプルリクエストが表示されています。
4.4.マージ実行
このプルリクエストを選択すると、問題なければスクロールした下の方に以下のような表示がされていると思います。
これは、このブランチはベースブランチとの間で特にコンフリクトはありませんという内容です。
この状態で、その下に「Merge pull request」ボタンが表示されていることを確認します。
「Merge pull request」の横の「▽」をクリックすると、マージする場合の選択が並んでいると思いますが、通常は「Create a merge commit」を選択でいいと思います。
これはブランチに加えたコミットをすべてベースブランチにマージし、操作履歴もそのまま残るものです。
これらを確認して問題なければ「Merge pull request」をクリックします。
コメント入力画面が表示されますのでコメントを入力し「Confirm merge」をクリックします。
以上が、「git push」後のプルリクエストとマージについてのシンプルな内容でのやり方になります。
5.リモートリポジトリをクローンする方法
最後になりますが、一度GitHub上のリモートリポジトリに登録されている状態から(再度)クローンによって複製をもってくることによって次の改造作業などを行うことになりますが、そのクローンによってすく制を持ってくる方法についての説明になります。
5.1.ログインとリポジトリ選択
そのため、まずはじめにGitHub上にログインして入ります。
GitHubの初期画面の左側に並んでいるリポジトリの中から該当するリポジトリをクリックします。
5.2.リポジトリのURLのコピー
リポジトリ選択後の画面にて「Code」をクリックします。
その中の「SSH」のタブを選択し四角2つのコピーマークをクリックしてURLをコピーします。
5.3.クローン実行
「ターミナル」または「コマンドプロンプト」または「Git Bash」にてクローンを実行します。
以下のように、「git clone 」の後にコピーしたURLを貼り付け実行します。
git clone git@github.com:*******/abcdefgh.git
これにより、リモートリポジトリのコピーがローカルリポジトリとして作成されます。
実行したディレクトリの直下に同名のディレクトリ(上記例では「abcdefgh」)が作成されているはずです。
5.4.実行後の確認
cd abcdefgh
にて該当ディレクトリに移動します。
ここで、以下を実行することでクローンしたリモートリポジトリが設定されているかどうか確認できます。
git remote -v
以下のように、「origin」の後に先程コピーしたURLが2行分表示されていると思います。
origin git@github.com:********/abcdefgh.git(fetch) origin git@github.com:********/abcdefgh.git(push)
以上が、Gitを活用したファイル編集後の「git add」、「git commit」が終了した状態からの、GitHub側のインストール、設定と、ローカルリポジトリからリモートリポジトリへの「git push」、pullrequest、mergeなどを行って、再度、再改造のためなどにcloneによって複製を持ってくるまでの説明になります。
また、Git、GitHubについてのインストール、設定やいろいろなやり方についてこれまで記載してきた記事を一覧として以下にまとめましたのでよかったらご参照ください。
関連記事:
【Git】Gitのダウンロード、インストール方法 - Django Girls and Boys 備忘録
【Git】付属ツールGit Bashについて、起動方法 - Django Girls and Boys 備忘録
【Git】Git Bashのホームディレクトリ変更方法 - Django Girls and Boys 備忘録
【Git GitHub】初心者、初級者におすすめの入門書 - Django Girls and Boys 備忘録
【Python Django】git init について - Django Girls and Boys 備忘録
【Git】ユーザー名とメールアドレスの設定方法 - Django Girls and Boys 備忘録
【Git】git addとステージングエリア(インデックス)への登録について - Django Girls and Boys 備忘録
【Git】git commitとローカルリポジトリへの登録、gitの概略イメージ - Django Girls and Boys 備忘録
【Git】git diffによる差分確認について - Django Girls and Boys 備忘録
【Git GitHub】GitHubのアカウント作成方法 - Django Girls and Boys 備忘録
【Git GitHub】公開鍵の設定方法 - Django Girls and Boys 備忘録
【Git GitHub】Gitのダウンロード、インストールから「git add」、「git commit」によるGitへの登録までの一通りの方法 - Django Girls and Boys 備忘録
【Git GitHub】「git add」、「git commit」後の「git push」について、リモートリポジトリにプッシュする方法 - Django Girls and Boys 備忘録
【Git GitHub】プルリクエストとマージを実行する方法 - Django Girls and Boys 備忘録
【Git GitHub】リモートリポジトリをクローンする方法 - Django Girls and Boys 備忘録
【Git GitHub】コミット履歴の確認とコミットを元に戻す方法 - Django Girls and Boys 備忘録