クリプト

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

ゆうき's icon'
  • ゆうき
  • 2018/10/18 01:20
Content image


リンク:

アリスブログ「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:22.08
ゆうき's icon'
  • ゆうき
  • @yuuki

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
44.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
236.30 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

CoinList(コインリスト)の登録方法

Like token Tip token
15.55 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
32.32 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS