[Work/Class/Java with Processing/git]

GitHub Desktopを使って,作成したプログラムをGitHubへの保存し,別のコンピュータでクローンする.

一人で編集する

この項目は「そのプログラムを触っているのが自分一人」という前提.

プログラムをGitHubへ保存・登録する

GitHubへ保存

まず保存する.

GitHubへ保存

ここでつけた名前が「Processingのプロジェクトの名前」かつ「Gitのレポジトリ」の名前となる.Processingはプログラムのメインソースコードの名前(この場合MyFirstProcessing.pde)とプロジェクトフォルダ(この場合MyFirstProcessingフォルダ)の名前が一致している必要がある.

GitHubへ保存

保存すると,このように「プロジェクトフォルダ」の中に,実際にプログラムが書かれた「ソースコードファイル」が入っている状態になる.

GitHubへ保存

自分のコンピュータに保存したProcessingのプロジェクトをGitHubへ登録する.

GitHub Desktopで「Create New Repository」

レポジトリとは「プロジェクトフォルダを管理するためのデータベース」であり,基本的には「プロジェクトフォルダと同一」と考えると良い.

GitHubへ保存

Gitで扱うために「Local Path」(このコンピュータの中でプロジェクトフォルダが存在する場所)を「Choose Folder」で選ぶ.

GitHubへ保存

プロジェクトフォルダではなく「そのプロジェクトフォルダを含んでいるフォルダ」(ここではプロジェクトフォルダがMyFirstProcessingなので,それを含んでいるフォルダは2018Winterとなる)を選ぶこと.

GitHubへ保存

「Name」の欄に「プロジェクトフォルダの名前」を入れる.「Initialize this repository with a README」(README.mdファイルを生成してgitデータベースを初期化する)にチェックを入れる.

GitHubへ保存

「Local Path」の指定と,「Name」指定が間違っていなければ,プロジェクトフォルダの中にREADME.mdが登場する.macOSやWindowsの標準設定では見えてはいないがGitで管理するデータベース「.gitattributes」も,この時に作られる.

GitHubへ保存

この状態で「このコンピュータの中」では,昔の状態に戻したりなどができるようになるが,念のため「GitHubのサーバ(クラウドみたいなもん)」に保存する.「Publish repository」.

GitHubへ保存

「Name」はプロジェクトフォルダ名(前述したようにこれはProcessingの縛り).

「Keep this code private」に必ずチェックを入れること.このチェックを入れないと自分の書きかけプログラムが全世界に向けて公開されてしまう.

GitHubへ保存

ちょっと待つと,GitHubサーバにレポジトリが保存される.

GitHubへ保存

GitHubの自分のページにWebブラウザでアクセスしてみると,鍵マーク付きで,今保存したプロジェクトがレポジトリとして保存されている.

GitHubへ保存

中を見るとちゃんとソースコードとREADMEが入っていて,

GitHubへ保存

ちゃんと書いたソースコードがGitHubのサーバ上に保存されている.

プログラムを変更して,GitHubに保存する

プログラムを変更したら,それをGitHubに保存する.

GitHubへ保存

まずプログラムを変更して保存する.今回は色を変えて四角を描画する部分を足してみた.この状態でセーブ(保存)すると,

GitHubへ保存

GitHub Desktopに「どこを変更したのか」が表示される.行頭に「-」が付いている赤の行が削除され,行頭に「+」が付いている緑の行が追加されている.(ここはちょっとバカだったらしくellipseが削除されて同じものが追加されたことになっている.まぁ結果は同じ.)

GitHubへ保存

「Summary」の欄に「どういう変更したか」を記述して,「Commit to master」で「このコンピュータの中のGitデータベースに変更を登録する」(masterの意味は,複数人数で編集したり,大きな変更を加えようとした時にわかる)

GitHubへ保存

このコンピュータの中のGitデータベースの変更をサーバ上(origin)に反映させるために「Push origin」(1箇所変更があるので,サーバに反映してくださいね,と促されている)

GitHubへ保存

サーバ上へ保存完了.

GitHubへ保存

GitHubのページにWebブラウザでアクセスすると,ちゃんとソースコードが更新されている.

あとは同様に「プログラムを書き換えたら,保存して,GitHub Desktopで変更状態を確認してCommitし,Push originでGitHubへその変更を保存する」という流れを繰り返せば良い.

必ず「Commit」→「Push」をこまめに行うこと.データが失われてからでは遅い.

別のコンピュータにGitHubに保存してあるプログラムを持ってくる

GitHub上に保存されているプログラムのプロジェクト(レポジトリ)を自分のコンピュータに持ってくる作業をcloneという.

GitHubからクローンする

GitHubのWebページのレポジトリを表示して「Clone or download」をクリック.

GitHubからクローンする

すると,そのレポジトリのURL(インターネット上の住所)が表示されるので,その右のアイコンで「コピー」

GitHubからクローンする

「Clone a Repository」.方法は2つある.

GitHubからクローンする

1つ目は,「GitHub.com」タブを選択すると,自分のGitHubに保存されているレポジトリ一覧がでるので,選択して,保存したい場所を「Local Path」で選び,「Clone」

GitHubからクローンする

2つ目は,「URL」タブに,先ほどコピーしたレポジトリのURLを貼り付けて,同様に「Local Path」で保存したい場所を選び,「Clone」

GitHubからクローンする

GitHub上に保存しておいたものが,今作業しているコンピュータに落ちてきた.

ここからプログラムを変更したら,先ほどと同様に「プログラムを保存して,変更をGitHub Desktopで確認してCommit→Push Origin」をすれば,GitHubに保存される.

ちなみに一度クローンしてしてGitHub Desktopにそのプロジェクトが登録されていたら,その後は「Fetch origin」もしくは「Pull origin」(GitHubのレポジトリに変更があった場合「Fetch origin」の場所に「Pull origin」と表示される)のみで同期される.「Pull Origin」と「Fetch Origin」は「GitHubサーバ上の変更を,現在作業中のコンピュータに落としてくる」ぐらいの意味で捉えておくと良い.

(正確にはPullは,GitHubのレポジトリの変更内容を取得して,現在自分が変更中の内容と統合する,の意味)

GitHubからクローンする

FinderやExploerで確認して,gitのデータベース「.gitattributes」や「README.md」が入っているプロジェクトフォルダがそのコンピュータの中にあるのに,GitHub Desktopに表示されない場合は,GitHub Desktopの「File」メニューから「Add a Local Repository」で,そのプロジェクトフォルダを追加してやれば良い.

南大沢のPC教室の場合は,別のコンピュータを使ったり,コンピュータ自体を再起動するとGitHub Desktopの設定が全部飛ぶので,授業の始まりの時に「Add a Local Repository」をして既存のプロジェクトフォルダをGitHub Desktopに追加し,「Pull origin」をする必要がある.

(もしくは授業ごとに全部消して,授業の始まりにcloneするとか)