【Github】共同開発の環境を整える方法


リンク:

アリスブログ「ALISのAPI」を使用する方法まとめ > 当記事


◆ 【Github】共同開発の環境を整える方法

どうも、ALISハッカー部の「ゆうき」です。

ここでは、「Github」のプロジェクトでチーム開発ができるようになるための知識を、リンク主体で説明していきます。


○ 留意事項

・Windows10のローカル環境を前提としています

・Macにとっては、説明が少々異なる状態になっていますが、下記に掲示されているリンクのページを閲覧していけば、Macユーザーでも共同開発の環境を整えることができます

・この記事を一通り実践して理解するまでに、おおよそ1日(4~8時間)ほどかかります

・ALISハッカー部の「ひらいくん」に教えてもらうまで、私もド素人でした。そのため、説明が不足している可能性もあります


○ 注意事項

・「Github」の環境構築は、かなり面倒なため説明が不十分になっていることもあります。……そのため、準備をするときは(可能であれば、)2つのサイトを比較しながら試してみることをオススメします


○ アドバイス

・「情報サイトのURL」や「入力したコマンド」とかは、メモ帳などに書き残しておきましょう。gitの2回目以降の起動の際や、よくわからなくなった時に役立ちます

・よくわからない文や、エラー文が出てきたら、その文をグーグル検索しておいたほうが良いと思います


○ コメント

・コマンドを入力する真っ暗な画面より、「GithubのWindows用のソフト(GUI)」を使ったほうが楽じゃない? → 最初はコマンドラインで実行したほうが良いと感じています。理解が深まります


○ この記事の目的

・ALISのプログラマーの場合 → ALISハッカー部の共同開発に参加できる状態を作ります

・ALIS以外の一般ユーザーの場合 → プログラムの共同開発や、Githubに関することの知識を強化します



◆ 手順

1,「Git」と「Github」を理解する

・「Git」とは

「分散型バージョン管理システム」のことです。

ファイルの更新履歴などを管理します。


・バージョン管理システムとは

こちらを参照して下さい。


・「Github」とは

「Gitを用いた(基本無料で使える)Webサイト」のことです。


他の方と情報共有することができます。

ファイルのアップローダーとして利用することもできます


・おまけ:「GithubGist」とは

「Github」のアカウントで利用できる、プログラムのソースコードのアップローダーです。

投稿したコードを自分のサイトに共有(貼り付け)することもできます



2,「Github」に登録する

こちらから登録することができます。


……ただ、海外のサービスなので、全部英語になっています(苦笑)

よくわからない方は、こちらを参考にしてみて下さい。

(なお、この時点では登録だけでも問題ありません。公開鍵の作成や、リポジトリの作成は不要です)



3,「Progate」で「Git」のお勉強

Gitの勉強だけなら、無料で行えます

(会員登録は必要です)


gitに関する理解が充分でないなら、この項は飛ばさないように。

(他のプログラミング言語を学ぶ程度で考えていると、後で痛い目を見ます)


「Progate」はスライド形式で直感的に理解できるため、「Git」に関することを事前に勉強していなくても、「Git」と「サーバー」の動き方と、「Git関連のコマンド」を「多少」知ることが可能です。

(ここでのgitの理解は、何となくでOKです)



4,Windows版の「Git」をインストールする

・ダウンロードサイト


・インストールの仕方


「インストールの仕方」は、必ず読んでおきましょう

普通のソフトと違って、設定事項がかなりある上に、標準の設定だと望ましくないところがあるので、しっかり設定しておかないと、後で面倒なことになるかもしれません。


※ Macの場合は、「OS X」以降なら「Git」が標準で付属していたと思います


インストールが終わったら、コマンドプロンプト(cmd)を開いて、

git --version

と入力してから、Enterを押して下さい。

成功していれば、「Git」のバージョンが表示されます。


※ コマンドプロンプトの開き方がわからない人は、以下のサイトを閲覧して下さい



5,Git上の「ユーザー名(英数字、任意)」と「メールアドレス」を設定する

・説明サイト

こちらのサイトの「#03 gitの設定をしよう」が参考になるかも。

※1 「git入門 (全22回)」の他のページも、Gitの勉強に役立ちます

※2 コマンドプロンプトの場合だと、「$」の入力は不要です


入力すると、ローカル環境のGitに、入力内容が保存されます。

(「git config -l」で確認可能)


おまけ:Gitの勉強は、こちらのサイトも役立ちます



6,SSHの鍵を作成する

・SSHの説明


・作り方


・補足1:認証キーの作成において、Windowsは「Git Bash」というものを使用します




※1 「Git Bash」は「4」の項でインストールしたデータに付属しています

※2 コマンドプロンプトは使えません。「Git Bash」を使って下さい

※3 「Git Bash」はよく使うことになるかもしれないので、ショートカットを作っておいたほうが良さそうです


・補足2:なぜ「SSHの認証キー」を作るのか

これが無いと、Githubの認証が面倒だからです


・補足3:「vim」って何?

コマンドライン上で実行されるエディタです。

使い方は、こちらのサイトにまとまっています。


「i(入力モードに切り替え)」と「:wq(保存して終了)」と「Esc(選択モードへ変更)」は覚えておいたほうが良いかも

※ 「Git Bash」→「vim」の時(vimが起動している時)は、「i」と「Esc」でモードの切替、選択モードの時に「:wq + Enter」で終了です。



7,Githubでリポジトリを作成する


上記のサイトの

・リポジトリを作成する

・GitHubに公開鍵を登録する

・GitHubへのSSH接続を確認する

を行って下さい。


ちなみに、リポジトリは「フォルダ」のようなものです。

Githubのリポジトリは、リモートリポジトリのことであり、ネット上にある共有フォルダのようなもの、と考えることができます。


※ GitHubへのSSH接続で警告(Warning)が出る場合

こちらで対処可能。

「Warning」が出ても特に問題はありませんが、あまり好ましいと感じるなら、実行しておいたほうが良さそうです。



8,ローカルリポジトリの作成(Githubと共有できるフォルダの作成)

中身が空っぽの新規フォルダを作成するだけです

それと、フォルダを作る場所は、日本語が含まれていないディレクトリであれば、どこでも良いと思います。


私は、

C:\Users\USERNAME\Documents\GitHub\test\local

とすることにしました。


※1 「マイドキュメント」に「GitHub」や「test」というフォルダを作成しています

※2 「USERNAME」は、任意の値です

※3 「Git Bash」では、「C:\Users\USERNAME」が標準のディレクトリです。起動した後、「echo ~」と入力することで確認することができます



そして、フォルダを作成したら、「Git Bash」上で用いるディレクトリのアドレス(+ cd コマンド)をテキストエディタに保存しておきましょう。


私の場合だと、

cd /c/Users/USERNAME/Documents/GitHub/test/local

になります。


後に「Git Bash」で、上記のコマンドを入力すると、

C:\Users\USERNAME\Documents\GitHub\test\local

に移動することができます。


※ 現在、どのディレクトリにいるのかは、「pwd」というコマンドでわかります



9,用語の理解

Gitで利用するコマンドを、なんとなく覚えておきましょうか。

(Progateのおさらいでもあります)


なお、以下の説明を一気に覚えるのは大変だと思うので、「10」の項を進める際に、この項を同時に確認しながら、少しずつ覚えていくのが良いと思います


・「ssh github」→ 「Git Bash」を起動した後、「Github」に接続するために必要となるコマンド。「6」の項で「Host github」の「configファイル」を作成しているはずなので、このコマンドだけで「Github」に接続できます。簡単!

・「cd (ディレクトリのアドレス)」 → フォルダの移動。最初にこれをやっておかないと、任意のディレクトリではなく、「C:\Users\USERNAME」にファイルが作られてしまうので注意

・「git init」→ gitの「設定」の初期化。……保存しておいたgit系のファイルデータが消えるわけではありません。あくまで、コマンドライン上で記録されたgitの一時的な内容(「git add」とか)を消すだけですね


・「git clone」→ リモートリポジトリ(ここでは、Github)のデータを、現在のディレクトリに複製。上記の「cd (ディレクトリのアドレス)」 と組み合わせることで、指定のフォルダをローカルリポジトリにすることができます

(「git clone」を行った時点で、ローカルリポジトリに「リモートリポジトリのファイル」があることを確認できます)


・「git branch」→ ブランチ(枝)の確認。なお、ここでは「github flow」という「ワークフロー」を用います

補足:git flowとgithub flowとは?その違いは?


・「git branch (任意の名前)」→ 「任意の名前」のブランチを作成します(「ブランチを切る」といいます)。

ブランチは「開発する場所(開発チーム)」と考えることもできます。

標準は、「開発A(マスター)」となっており、そこに「git branch test1」と入力することで、「開発A(マスター)」とは別に、「開発B(test1という名前のブランチ)」を作成します。

ただ、「git branch test1」だけでは、まだ自分は「開発A(マスター)」の所属なので(「git branch」で確認可能)、下記の手法で、ブランチ(開発チーム)を変更する必要があります


・「git checkout (任意の名前)」→ ブランチの変更

「git checkout test1」と入力すれば、(「test1」というブランチが存在していれば、)「test1」のブランチ(開発チーム)に移動できます。


・「vim (ファイル名)」→ vim(エディタ)を起動して、「ファイル名」のファイルを作成する行為

余談ですが、普通のファイルを作成したいだけなら、「vim (ファイル名)」ではなく、単にGUIで(Windows上で)行うこともできます。


・「git add」→ コミット(commit)したいファイルの選択。Windowsで例えるなら、ファイルのいくつかを選択する行為

コミットって何? → 「git add」で選択したファイルを、ローカルリポジトリに複製する行為。……「Subversion」とかと違って、コミットしたからといって、「アップロード」されているわけではありません


・「git status」→ コミットする内容(+ コミットした内容)の確認。Windowsで例えるなら、選択されているファイルが何なのかを表示する行為

・「git commit -a」→ 「git add」しておいた(+ 変更があった)全てのファイルを、コミット(ローカルリポジトリに複製)

その際、「コメントは何にするのか?」を「vim」で要求されるので、#以外のところに入力しておきます。

(「#」はコメントアウトなので、その行に入力しても効果がなかったはずです)


・「git push origin (ブランチ名)」→ ブランチ名のコミットした内容を、(ここでは)GitHubのリモートリポジトリにアップロード

ただし、まだ「リモートリポジトリのファイル」が上書きされたわけではありません。別のファイルとしてアップロードされています


・プルリクエスト(プルリク、pull request) → (gitのコマンドではなく、GitHub上で行うものですが、)別のファイルとしてアップロードしたものをリモートリポジトリのファイルに保存(上書き)して欲しい、という要求のこと

この要求が通れば(masterが許可すれば)、コミットした内容がリモートリポジトリに(masterブランチに)反映されます。


・「git pull」→ 「masterブランチ」で更新された内容を、ローカルリポジトリに保存


おまけ:gitコマンド


10,自分用のGithubのリモートリポジトリで実践

手順:(2回目以降にも対応させたいので、一旦「Git Bash」を閉じたことにします)

A,「Git Bash」を起動

B,「ssh github」を入力

C,「cd (ディレクトリのアドレス)」で、ローカルリポジトリに移動


後は、こちらのサイトを参考にして下さい。

(2回目以降の場合だと、「mkdir」というフォルダの作成コマンドは不要です)

(「clone」も同様)


・補足1;エラーについて

gitコマンドにおいて、

fatal: Not a git repository (or any of the parent directories): .git

と表示されたら、git のセットアップが行われいないことになります。


この問題は、「gitのセットアップ」を行う → 「clone」で解決できます


・補足2:Githubのリモートリポジトリにおいて、「Clone or download」が見当たらない場合

リモートリポジトリが空っぽだと、「Clone or download」は表示されません(「README.md」の作り忘れ)。

その場合は、リモートリポジトリの「Code」のページに移動して、「Https」から「SSH」にボタンを変更した後、中央辺りに書かれている、

git@github.com:(githubのユーザー名)/(リモートリポジトリ名).git

を使って下さい。


・補足3:ブランチ名について

今回は「好きなブランチ名」でにすることができていますが、実際のチーム開発では、指定の「ブランチ名」にする必要があります。

(プログラムの変数名の設定のようなものです。「b1」だとわかりにくいから「branch1」にして、のようなもの)



基本的な説明は以上です。

大変、お疲れ様でした

(;´∀`)



○ おまけ1:上記の説明を一通り実行したけど、よくわからない場合

例え本番であっても、項目「9」と「10」を確認しつつ、gitのコマンド一覧を見ながら作業すれば、きっとおそらく多分、なんとかなります。


○ おまけ2:

手法を一通り覚えたら、

デスクトップ版を使ってみるのも良さそうです。


○ お礼

当記事は、ALISハッカー部の「ひらいくん」のアドバイスの元で作成されています。

「ひらいくん」に感謝です。



「『ALISのAPI』を使用する方法まとめ」に戻る




◆ 「ゆうき」のツイッター


公開日:2018/10/18
獲得ALIS:18.00
ゆうき / アリスブロガー's icon'
  • ゆうき / アリスブロガー
  • @yuuki
ALISブロガーです。スキル:SEO対策、ライティング、プログラム等。ALISでは「記事制作のアドバイス」や「情報提供」などを行っています。よろしくお願いします。Twitter yuuki_tw1
コメントする
コメントする