”はじめて”のGitHub、GitHub Desktop
[GitHub][GitHub Desktop][clone][pull][fork]
自分が所属する部署でGitHubを使って開発を進めるということになり、使い始めたんですが全然使い方がわからず、今もすべてわかっているわけではないです。
いまからこれでもかっていうくらい画像を使って丁寧に解説します。
GitHubアカウントの登録やGitHub Desktopのインストールはわかりやすいサイトがあるので説明は省きます。
図のような開発構図を想定します。
3人の開発者がlsc(開発本部)でコードを作成していくとします。
まず、自分のGitHubとlsc(開発本部)のGitHubを繋げます(おそらくこの作業をGitHub用語でfork??という)。
”Hiroaki-Ozkai”のアカウントでGitHubにサインインし、繋げたいページに移動します。右上のFork という文字をクリックしてください。
文字横の数字はForkしている人の数を表しています。開発者1、2がすでにフォーク済みということですね。これから”Hiroaki-Ozaki”がForkしてこの数字が3になればFork成功になります。
自分のアカウントのページに繋げたいレポジトリが作成されればFork成功です。
つづいて、Hiroaki-Ozaki/lsc/classification/keras/beginner_folderの中にファイルをアップロードしてみます。やり方を2つご紹介します。
① 自分のGitHubのサーバー内でファイルをアップロードする
↑ファイルをドラック&ドロップするだけなので簡単②自分のGitHubのサーバー内のファイルを一度自分のパソコンのローカル環境に落としてから(おそらくGitHub用語でclone??という)ファイルをアップロードする
↑やり方を理解するまでに一度は発狂します
まずは発狂しないほうから、、、
ファイルをアップロードしたいページに移動し、Upload filesをクリックします。
四角い枠の中にアップロードしたいファイルをドラック&ドロップします(フォルダごとドラック&ドロップも可能です)。とても簡単ですね。
*注:この時点ではlsc(開発本部)でファイルのアップロードはまだ反映されていません。あくまで自分のサーバー内での変更です。<反映方法は後述>
次に、発狂する方法です。ここでGitHub Desktopを利用します。
右上の丸矢印をクリックすると、cloneできるレポジトリが出てくはずです。<出てこない場合は後述>
“Hiroaki-Ozaki/lsc”をクリックすると”Clone Hiroaki-Ozaki/lsc”のボタンが現れるので、クリックします。
自分のGitHubサーバをどこにcloneしたいか聞かれるのでLocal pathを編集して任意の場所を設定してください。今回はE:/Develop_ozaki/gituhubの中にlscフォルダを作成します。
右上の丸矢印をクリックしても、cloneできるレポジトリが出てこなかった場合は”Clone a repository from the Internet…”をクリックしてください。
空欄にcloneしたいページのURLを入力し、Local pathに任意の場所を設定して下さい。
”Clone”をクリックするとlscのフォルダが作成され、
中身もちゃんとcloneされています。
これ以降は自分の好きなように好きな場所にファイルをアップロードしたり、編集ができます。
すべての変更がGitHub Desktopに記録されます。
試しにTEST.ipynbというファイルを作成してみます。
するとGitHub Desktopのchangesに変更が反映されます。
*注:この時点では自分のサーバーにここでの変更ははまだ反映されていません。あくまで自分のローカル環境内での変更です。<自分のサーバーに対して反映する方法は後述>
変更した作業内容を上記のように入力し、”Commit to master”をクリックします。
“Push origin”をクリックし、自分のサーバーに変更を反映させます。
“TEST.ipynb”ファイルが自分のサーバーに反映されました。
*注:先にも述べましたが、lsc(開発本部)にここでの変更はまだ反映されていません。あくまで自分のサーバー環境内での変更です。
最後に、lsc(開発本部)に自分のサーバー内で変更したことを反映させます(おそらくGitHub用語でpull reqests???という)。
自分のサーバー内で”Pull requests”をクリックし、”New pull request”を押します。
変更内容が出てきますので、”Create pull request”をクリックしてください。
どのような変更をしたのか聞かれますので、適当にコメントを入力し”Create pull request”をクリックします。
上記のように表示されれば、リクエスト完了です。
しかーーーーし!!!!!!!!!!!!!
まだこれで終わりではありません
最後にlscのサーバーでこの変更を承認してもらいます。(おそらくGitHub用語でmerge???するという)
lsc(開発本部)のアカウントでGitHubにサインインすると”Pull requests”が①になってると思いますので、これをクリックします。
“Create TEST.ipynb file”をクリックします。
続いて”Merge pull request”をクリックします。
“Confirm merge”をクリックしてください。
上記のように表示されれば、マージ成功です。
あーめんどい。
お疲れ様でした。
これから開発をすすめてみてまた発狂したら記事にしてみたいと思います。