Wantedlyで開発するときにとりあえず設定してもらう事一覧

More than 5 years have passed since last update.

Wantedlyではビジネスサイドの人にも、Githubの使い方を教え、例えばViewの文言変更などは自分でしてPull Requestを送ってもらうようにしている。

これを実現するための、非エンジニア、初心者エンジニアでも簡単に正しいリクエストを送れるようになる設定一覧。


キーボードの設定 (Macの場合)

keyboard.png


  • キーのリピート: 速い

  • リピート入力認識までの時間: 短い

  • (修飾キーで、Caps Lock -> Controlに)

別にやらなくてもいいが、これが遅いと人生の無駄に感じるw


Github

顔写真は最近直接Upできるようになった。

ssh-keyの作成は自分でやるのはちょっと難しいので登録してあげてる。

これがめんどくさい場合は、以下のコマンドを打って、gitのパスワードをキーチェーンに管理してもらうという方法もある。

git config --global credential.helper osxkeychain


gitの設定

以下のコマンドを打つのは最低限

git config --global user.name "Your Name"

git config --global user.email your-name@example.com

いろいろ開発するなら.gitconfigを直接編集して以下の設定をしてもらう。


~/.gitconfig

[user]

name = Your Name
email = your-name@example.com
[color]
ui = auto
[alias]
amend = commit --amend -C HEAD
co = checkout
logg = log --stat --decorate=short --pretty=format:'%C(yellow)%h %Cgreen%cr %Cblue%cn%Cred%d %Creset%s %C(cyan)%b'
mergelog = log --merges --pretty=format:'%C(yellow)%h %Cgreen%ci %Cblue%cn%Cred%d %Creset%s %C(cyan)%b'
history = log --graph --date=short --decorate=short --pretty=format:'%C(yellow)%h %Cgreen%cd %Cblue%cn%Cred%d %Creset%s'
unmerged = !git --no-pager diff --name-only --diff-filter=U
sync = !git checkout master && git pull origin master && git fetch -p origin && git branch -d $(git branch --merged | grep -v master | grep -v '*')
[push]
default = current

ハイライトとしては、以下の3つの機能



  • push.defaultを直感的にわかりやすいcurrentにする


  • git syncという現在のmasterを最新のものにした上で過去のブランチは削除する


  • git loggというgit logをもう少し読みやすくしたコマンドをつける

これで、あんまりGitのことをよくわかってない人でも文言の変更などのPull Requestは以下ようにするんだよと教えるだけでを送れるようになる。


  • git sync

  • git checkout -b your_name/branch_name

  • <ファイルを変更>

  • git add .

  • git commit -m "Commit message"

  • git push

  • Github上でPull Requestを送る

git loggはよくわかんない感じになりましたと言われた時に、その人のターミナルで打ってもらう。どのファイルを変更したかやリモートとローカルのHEADやmasterの位置が確認できるので、あぁmaster上でcommitしちゃったんだとかすぐに解決してあげやすい。

git loggの出力例:

git_logg.png


エディタの設定

vimやemacsでもいいが、大抵、Sublime Textを使ってもらっている。

これのいいところは、デフォルトで以下の機能が付いているところ。


  • プロジェクト全体からの単語検索 (Command+Shift+F)

  • ファイルの部分文字一致での検索 (Command+P / Command+T)

Sublime Textもお金を払わないとたまにInterruptされるので、最近はGithub製のAtomでもいいかなと思ってきている。


Sublime TextのUser Preferenceの設定

Sublime Textの場合、コード規約の関係で以下の設定は必須。

Sublime Text -> Preferences -> Settings - Userで設定を追加する。


Preferences.sublime

{

"ensure_newline_at_eof_on_save": true,
"show_full_path": true,
"tab_size": 2,
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true
}

これはGithubでコードを管理していると、空白がついたり\nが入っただけでDiffが出るので、次のように統一しているため。


  • インデントは2文字でTabは使わない

  • 最後は改行で終わる

  • 行末に余計な空白は入れない

基本的にこれで問題ないが、末尾に改行が何個も入った場合それをとってくれないのだけ不満点。誰か方法知っていたら教えて欲しい。

show_full_pathについてはコード規約ではないが、例えば、Railsだとindex.html.hamlというファイルはいくらでも存在するので、意外と同じ名前の別ファイルを編集していてうまくいっていないみたいなことも起こる。それに気づけるように出す設定にしてもらっている。