&tag(git/ワークフロー);
*目次 [#q3c84f62]
#contents
*関連ページ [#g5120440]
*参考情報 [#x5423ea6]


*共同開発時のワークフロー [#kf4c5436]
-[[Git のマージについて、自分的まとめ - tanaka51のブログ:http://tanaka51.hateblo.jp/entry/20120530/1338386845]] 
-[[git merge --squash でブランチでの変更を1コミットにまとめてマージ - Qiita:http://qiita.com/qckanemoto/items/3f9b798fe3fb5e129489]]
-[[git rebase -i はやっぱりイケてる件【git】【rebase 】【iオプション】 - DRYな備忘録:http://otiai10.hatenablog.com/entry/2012/11/10/013925]]
-[[[Git] 使い分けできていますか?マージ(merge)&リベース(rebase)再入門 - The Powerful Code:http://powerful-code.com/blog/2012/11/merge-or-rebase/]]
**基本的な考え [#w505049e]
-ローカル(リモート用=masterとか) /ローカル(自分用=devとか)を保守する。
-masterではgit pull する(masterで直接変更しちゃった場合は、git pull --rebaseが良いかもしれない)。
-開発はdevブランチ(トピックブランチ)で行い、コミットが一区切りついたらmasterにmerge -squashするか(履歴が綺麗なる)、通常mergeする(これだとdevの履歴が残る)。
-masterをpushする。
-squashの場合不用になったdevブランチを削除する git branch -D dev 。継続してdevは使わない。
-またあらたなブランチを作成する。git checkout -b dev2。
-開発はトピックブランチで行い、masterにmergeする。
-mergeは--squash(複数のコミットをまとめる)、通常、--no-ff(必ずマージコミットを作る)など使い分けることができる。
-merge後はトピックブランチは削除する。ただしブランチを削除した場合分岐していたという分岐履歴は残るがブランチ名は残らない。
-ブランチ名を残したい場合、[[how to get git log display name of (deleted) branches:http://goobbe.com/questions/733292/how-to-get-git-log-display-name-of-deleted-branches]]によると、自動で作られるマージコミットのコメントを参照するか、ブランチ削除する前にtagをつけておくなどの対策をとらないといけないらしい。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS