はじめに

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':'rocal branch name'

8. git commit時にflake8でコードチェック

$ pip install flake8
# プロジェクトのルートで
$ flake8 --install-hook git
  • .git/hooks/pre-commitファイルが作成される

9. 動かないコードはコミットしない

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.