5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pro Gitを使ったGitハンズオン勉強会のTips#2

Posted at

前回のGit勉強会に引き続き、1月20日に北海道旭川市で2回目のPro GitハンズオンGit勉強会を開催しました。同じようにPro Gitを使ったハンズオン勉強会を地方で(例えば北見市とか)計画されている方のために、勉強会Tipその他をメモしたいと思います。前回に引き続き、今回も予定通りに進みませんでした。

内容

やはりというか、Gitは奥が深いので、2時間がアッという間に過ぎます。git-branch, git-merge, git-rebaseについて深く突っ込んで勉強する予定でしたが、git-rebaseに関してはほとんど手が付けられませんでした。また、予定していた練習問題にも手が付けられませんでした。

前回の復習

前回の宿題、git add -pについて、少し時間を使って復習をしてみました。変更ある箇所の一部だけステージするって面倒な作業ですが、うまくコミットヒストリーを作るのに必要になります。
これについては動画を作ってみました。http://www.youtube.com/watch?v=9T82aJCFiIQ

Chapter3 Gitのブランチ機能

3.1 ブランチとは

このチャプターでHEADの概念が明確になります。この辺りは、どんどん読み進めてしまいました。

3.2 ブランチとマージの基本

わざとコンフリクトさせるようなヒストリを作って、実際に試してみた。僕のgit-mergeの理解が浅いため、コンフリクトすると思ったらしなかったりして、失敗したりもするアクシデントがありました...
マージの仕方や、git-stashの使い方などを実践していきました。

気付いた点・反省点

百聞は一見に如かず

学生の参加者が、

僕、git stash applygit stash popの違いがわかりません!

と言ってきました。git-stashの実演をスクリーンに映してしていたのですが、彼だけ見ていなかったようです。単純な違いですし、ほかの全員は理解しているので、全員で一人ずつ説明を試みました。それぞれ違うアプローチで説明を試みました。しかし...

git stash applygit stash popの違いが、まだ分かりません!

という答えが帰ってきました。これは、なかなか考え所だと感じました。ソフトウェアというのは抽象的で理解がなかなかできないものです。何故ならソフトウェアは目に直接見えないものなので、自分の頭で想像しなければならないからです。エンジニアはその難しい概念的なものを専門用語を使わずに、わかりやすく説明する能力が必要されていると思います。applypopの違いは簡単なものなので、理解できるように説明できなかったことには残念です。

ただし、これは抽象的な概念ではなく、かなり具体的に示せるものなので、たいした問題ではありませんでした。実際にstashされたキャッシュをapplyした場合と、popした場合それぞれ、もう一度実演しました。もちろん、彼はそれを見て瞬時に理解に到達しました。

GIT-STASH(1)                                     Git Manual                                     GIT-STASH(1)

NAME
       git-stash - Stash the changes in a dirty working directory away

SYNOPSIS
       git stash list [<options>]
       git stash show [<stash>]
       git stash drop [-q|--quiet] [<stash>]
       git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
       git stash branch <branchname> [<stash>]
       git stash [save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet]
                    [-u|--include-untracked] [-a|--all] [<message>]]
       git stash clear
       git stash create [<message>]
       git stash store [-m|--message <message>] [-q|--quiet] <commit>

まとめ

今回は4人で勉強会をしたのですが、4人が最小限の人数かなと感じました。ということは地方でも4人、Gitハンズオンをしたい有志を見つければ勉強会開催が可能!

5
5
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?