git-it-electron実践入門(後編)

git-it-electron 実践入門(前編)はこちらです。

前編では Git の概念と GitHubのアカウント登録、
GitHubへリポジトリをプッシュするとこまででした。
後編では、他の人のプロジェクト・リポジトリを触っていきます。

第六章 Forks And Clones

 

 

この章で学ぶこと

  • フォークとは何か
  • git clone
  • リモートリポジトリの設定

 

git-it では、練習用に、アクションに応じて自動処理してくれるリポジトリを使います。

GitHub でフォークの操作をしましょう。

github.com/jlord/patchwork にアクセスして Fork ボタンをクリックします。

GitHub の自分のページに jlord/patchwork を持ってくることができました。

フォークしたプロジェクトを編集するために、ローカルへクローンします。

$ pwd
/Users/ichihashi_kenji/http://ikenji.tech/wp-content/uploads/2016/07/git-it-ren
$ git clone https://github.com/iKenji/patchwork.git
$ ls -l
total 0
drwxr-xr-x   4 ichihashi_kenji  staff  136  7  3 21:01 hello-world
drwxr-xr-x  13 ichihashi_kenji  staff  442  7 31 13:29 patchwork
$ cd patchwork

リポジトリをクローンするとデフォルトでクローン元のリポジトリが
origin という名前で登録されています。

$ git remote -v
origin  https://github.com/iKenji/patchwork.git (fetch)
origin  https://github.com/iKenji/patchwork.git (push)

フォーク元も登録しておきましょう。
upstream という名前で登録をします。

$ git remote add upstream https://github.com/jlord/patchwork.git
$ git remote -v
origin  https://github.com/iKenji/patchwork.git (fetch)
origin  https://github.com/iKenji/patchwork.git (push)
upstream    https://github.com/jlord/patchwork.git (fetch)
upstream    https://github.com/jlord/patchwork.git (push)

クローンした patchwork ディレクトリを SELECT DIRECTORY して
VERIFY してみます。

第六章クリアです。

 

第七章 Branches Aren't Just For Birds

 

 

この章で学ぶこと

  • ブランチとは何か
  • GitHub Pages
  • git branch, git checkout

正しく VERIFY させるために、add-[username]で、ブランチを作成します。

$ git config user.username
iKenji
$ git branch add-iKenji
$ git checkout add-iKenji
$ git branch
* add-iKenji
  gh-pages

"add-[USERNAME].txt"という名前のファイルを作って、
GitHubユーザー名を書き込みます。

ファイルが作成できたら、contributorsフォルダに保存します。
今回はコマンドでファイルを作成しますが、GUIで操作しても問題ありません。

$ echo 'iKenji' > contributors/add-iKenji.txt

変更を add して commit して "自分のリポジトリ(origin)"に push します。

コミットメッセージの内容について、今回は何を書いてもいいのですが、
編集内容がわかる簡潔な内容にします。

$ git add contributors/add-iKenji.txt
$ git commit -m 'add add-iKenji.txt'
$ git push origin add-iKenji 
Username for 'https://github.com': iKenji
Password for 'https://iKenji@github.com': 
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 361 bytes | 0 bytes/s, done.
Total 4 (delta 2), reused 0 (delta 0)
To https://github.com/iKenji/patchwork.git
 * [new branch]      add-iKenji -> add-iKenji

前回と同じpatchworkディレクトリを SELECT して VERIFYします。

第七章クリアです。

 

第八章 It's A Small World

 

今回、練習用に用意された patch-workリポジトリには bot がいます。
自動処理をしてもらうために、プロジェクトのコラボレータに bot を追加します。
github.com/YOURUSERNAME/patchwork/settings/collaboration直にURLにアクセスしても問題ありません。

追加出来たら VERYFYします。

第八章クリアです。
あと3つです。がんばりましょう。

 

第九章 Pull Never Out Of Date

 

 

この章で学ぶこと

  • リポジトリを最新に保つ
  • git pull

 

$ git pull origin add-iKenji

この章は特に書くことはありませんでした。

VERIFY して第九章クリアです。

第十章 Requesting You Pull Please

 

 

この章で学ぶこと

  • プルリクエスト

GitHub上での操作になります。
プルリクエストを作成します。

今回作ったブランチ -> 本家のgh-pages
差分を確認して Create pull request
編集した内容で titleとdescriptionを書いて createします。

プルリクエストが作成されて、
同時に bot の処理でマージされました。

第十章クリアです。

最終章 Merge Tada

 

 

この章で学ぶこと

  • プルリクエストがマージされた後

前章で、本家のブランチに、今回作成したブランチがマージされました。
ローカルでも同じことをしておきましょう。

$ git checkout gh-pages
$ git merge add-iKenji
Updating 2152c25..7411078
Fast-forward
 contributors/add-iKenji.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 contributors/add-iKenji.txt

マージできたらマージ元のブランチは不要です。
削除してしまいます。

$ git branch -d add-iKenji
Deleted branch add-iKenji (was 7411078).

本家の変更をプルします。

$ git pull upstream gh-pages

VERIFY します。

お疲れ様でした。

最後まで出来た方にはサプライズが用意されています。
jlord.github.io/patchwork
アクセスしてみてください!

-Git塾