はじめに
Gitを使った開発をして色々アドバイスをもらったので備忘録として。
基本的なことばかりかもしれないけど、適宜追加していけたら。
Gitでチーム開発するときの注意点
1. gitで確保しておきたいディレクトリには**.keep
ファイル**を置いておく
- ディレクトリが空だとgitに追跡されない
- .gitignoreに
!.keep
とすることでデータ用ディレクトリなどでデータは無視しつつディレクトリを保持できる
2. pushするときはgit diff
を見てからpushする
- 余計な変更が含まれているかもしれない(e.g. debug用のprintとか)
3. masterからmy-branch1を切って、my-branch1からmy-branch2を切った場合
- リモートをpullするとき
$ git checkout master
$ git pull origin master
$ git checkout my-branch1
$ git merge master
$ git checkout my-branch2
$ git merge my-branch1
- リモートにマージするとき
master <- my-branch1
# my-branch2のベースをmasterに変更(Githubのリポジトリ名横のeditボタンから可能)
master <- my-branch2
- 差分がちゃんと出る
4. masterにマージしたらdelete branch
する
- その際、そのブランチに向いているブランチがある場合deleteすることができない
- 3.のようにベースを変更することでdeleteできるようになる
- 消し忘れに注意
5. 3.の様に一旦切り出したけど元のブランチにマージする予定のものはその旨をプルリクの中に記述しておく
6. conflictした時
i. 最新のブランチを持ってくる
$ git checkout master
$ pull origin master
ii. 自分の作業ブランチにmergeする
$ git checkout my_branch
$ git merge master
iii. conflictを修正する
$ vim '修正すべきファイル'
- 残すべき部分を残し、消すべき部分は消す
- それ以外にも修正したいところがあれば修正
iv. ステージに上げてコミットする
$ git add .
$ git commit
v. リモートブランチにpushする
$ git push origin my_branch
7. 特定のブランチをローカルブランチにマージしたいとき
$ git pull origin 'remote branch name':'local branch name'
8. git commit時にflake8でコードチェック
$ pip install flake8
# プロジェクトのルートで
$ flake8 --install-hook git
- .git/hooks/pre-commitファイルが作成される