Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome or Safari browser. Firefox 10 (to be released soon) will also handle it.

Part 1. How Does Developing with Git at Paperboy&co.


Kohei Hasegawa@banyan
paperboy&co.
20120619

最初にすごく簡単にペパボと Git の自分の考える特徴を振り返ります。

ペパボたくさんの事業部がある。

特徴として全てのチームにデザイナがアサインされる

最近の某プロジェクトの最初の構成

なのでデザイナとどう協業するか考える必要がある

A Case of heteml

Windows ユーザのデザイナには

git-flow 使った

実際の導入を振り返って

で理解できてもらった気がする。問題も起きてないと思う

もっとうまくやれた部分とか

Part2. Some Tips for Git User

1. コミットメッセージ

2. コミットメッセージの書き方

Gemfile がなくても open エラーにならないようにする # ←タイトル
                                                   # ←空行
ワーキングディレクトリ (リポジトリのルート) に Gemfile という名前のファイルがないと、書き換え前に中身を読むところで例外が発生してしまう。
いろいろやりかたはありそうだけど、空ファイルでも存在すれば ok なので touch で作ってしまう。

3. コミットの粒度

4. git config (.gitconfig)

$ git config --global core.editor vim
$ vi ~/.gitconfig

5. git status

$ git status -sb # のほうが慣れると見やすい

# .gitconfig
[alias]
    st = status -sb

6. git stash

現在作業中のbranchでまだコミットはしたくないけど、trunkで直さないといけないバグとかが見つかったときに、今の変更を横にどけておくコマンド。

$ git stash
$ git stash pop

若者の git stash 忘れが多発

7. git rebase

8. git grep

$ git grep hoge
$ git grep -i Hoge (Ignore case differences between the patterns and the files.)

9. git reset

ローカルリポジトリ、インデックスを元に戻す

$ git reset HEAD^
$ git reset --hard HEAD^^

10. git reflog

11. git blame

$ tig blame のほうが便利

12. git clean

ワーキングツリーを掃除する

12. git now

13. git slave

14. tig

15. 必要ない記述を消したけど、そこに書かれていた記述を参照したい

コメントアウトするくらいなら消してください。 そして、これを消すコミットでなぜ消したのかを説明してください。 バージョン管理システムはそのためにあります。

って永和さんの研修でレビューされてた。個人的にはコメントアウトしてもいいケースはあるとは思うけど、必要ない箇所はばっさり消すべきだとは思う。 で消したけど、その記述がほしい場合

15. 必要ない記述を消したけど、そこに書かれていた記述を参照したいの続き

# どっかのタイミングで hoge.html を削除したとする。
# その hoge.html がほしい
$ git log # git log でみると、そのコミットのひとつ前の hash なので注意
$ git checkout <hash> hoge.html # で戻せる

16. git add -p で分割できるより更にコミットの粒度を下げるには?

s をタイプすると、より細かく分割できる。 s でもダメな場合は、e(edit)

17. ブランチ作ったけど、ブランチ作ったときと意味が変わってきたので、ブランチ名変えたい

$ git branch -m old-branch-name new-branch-name

18. 1つ前のコミットに含めてコミットしたい

$ git commit --amend -m "foo"

19. 1つ前のコミットに含めてコミットするが、コミットメッセージは1つ前のコミットのものを使う

$ git commit --amend -C HEAD
$ git amend

[alias]
    amend = commit --amend -C HEAD

ご清聴ありがとうございました

Use a spacebar or arrow keys to navigate