今しかgit使わない人向けの共同開発サイクル with Eclipse EGit

コレは何

gitをあまりにも知らない人に対し,EclipseのPluginであるEGitを用いて共同開発する際の作業サイクルを画像を用いて書いたもの
GUIでgit操作を行い,他の共同開発者が困らない程度に最低限すべき事を書いたもの.

BadKnowHowあります.極力使わないで下さい.*1

GitやEclipse,Egitに関しての知識が欲しくて来た方,お帰り下さい.

書いた人はEGitの知識皆無.

対象

  • 1人目のメインとなる対象は,gitって何?という状況において,一応ではあるが書いたコードを上手く共有させたいと考えている人向け
  • もう1人の対象は,限られた時間の中で,エンジニアチックでない人に少しでもエンジニアっぽい事を体験して欲しいと思ってる人向け.

想定環境

開発サイクル

gitを知らない人は以下のようなサイクルを取ると良いでしょう.
なお,このサイクルは例えば数カ所の変更作業を開始してから終了するという一連の流れを示しています.
作業をする際はこのサイクルを1から毎度行って下さい.

ちなみに最々低限これだけは覚えて下さい

  • 作業開始時にpull,作業終了時にpush.
  • 作業中はaddとcommitを繰り返す.

以下サイクル

  1. 作業開始
  2. pullする(他の人の変更を自分のローカルファイルに対して更新させます.これで作業開始時は常に最新版になります)
    • プロジェクトを右クリックしてpullします
    • f:id:appspring:20131005183425p:plain
    • f:id:appspring:20131005183428p:plain
  3. ファイルを編集する
  4. ファイルをAddする(自分が変更したファイルをgitさんに教えてあげます.複数のファイルを逐一まとめてAddしても良いです.)
    • ファイルを右クリックしてaddします
    • f:id:appspring:20131005183430p:plain
    • f:id:appspring:20131005183433p:plain
  5. commitする(Addしたファイルに対して,1まとまりの自分の変更を記録します)
    • f:id:appspring:20131005183447p:plain
  6. commit文を書く(どんな変更に対するcommitなのか分かる用に書いてください)*3
    • f:id:appspring:20131005183451p:plain
  7. OK押す事でcommitされる
  8. pushする(pushする事で,他の共同開発者にも自分の変更を共有させる事が出来ます)
    • f:id:appspring:20131005183530p:plain
  9. ログインが必要ならばgithubアカウントでログインする(初回のみ?)
    • f:id:appspring:20131005183535p:plain
  10. 確認する(github上のcommitに対し自分の変更が表示されていたなら,共有完了です)
    • f:id:appspring:20131005183545j:plain
  11. 作業終了

1に戻る

Egitにはcommit and pushとかいう機能もあるんで,7, 8の過程をこちらをクリックする事で1つにまとめても良いです.*4f:id:appspring:20131005185105j:plain

ちなみに

commitは大きくなると面倒です.取り敢えずcommitしまくって大丈夫です.

こっからは理解しなくても良いです.
本来はcommitは変更箇所毎にまとめてするもの.pushするタイミングも適度なcommit数になったひとまとまりでするもの.
さらに本来は,中程度の変更毎にbranchを切って作業するもの.
変更のまとまりについては,感覚的なものもあります.
ちなみに自分はこんな感じ

gitについて

もし興味を持ったならば,以下のような資料が参考になるでしょう
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
サルでも分かるんで,分からなければサルっぽい未満です.
後は分からない事,知りたい事があれば周りの知っている人に積極的に聞いて下さい.本気で知りたい人に対してはエンジニア勢はWelcomeで頑張って教えたくなります.

gitを知ってる人

ちゃんと教えましょう ,はい.

はい.

*1:全て読んだ上でのなんだこれとかいうツッコミ,ありがとうございます

*2:▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわああああああぁ

*3:この時点では変更を知っているのは自分だけ

*4:もはやsubversionと等価