質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

4回答

3961閲覧

Git初心者の開発フローについて

dongw

総合スコア119

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2017/03/08 10:49

SourceTreeを使ってアプリの作成をGit管理で行っています。

ローカルリポジトリとリモートリポジトリを使ってどう作業していくか悩んでいます。

今考えているのは
ローカルのmasterからブランチを切って作業
作業後ローカルのmasterにマージ
ローカルをリモートにプッシュ
(以後繰り返し)

という流れを考えています。
しかし、
ローカルのmasterからブランチを切って作業
作業後のブランチをリモートにプッシュ
リモートのmasterにマージ?
リモートのmasterをプルしてローカルと同期
(以後繰り返し)

という方法もあるのではないか、と考えました。
果たしてどちらが正しいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

果たしてどちらが正しいのでしょうか?

ご自分がやりやすいと感じる方法で問題ないと思いますが、
私の個人的な意見としては、後者をお薦めします。

前者の方法では、リモートリポジトリ上に masterブランチしか存在しないことになるため、
あとでリモートリポジトリを見返した際に、作業の過程が見えにくいと思えるからです。

(リモートにプッシュしたブランチを)リモートのmasterにマージ?

については、例えばリモートリポジトリを Github 上に作成している場合、
Pull Request という機能で実現できます。
https://help.github.com/articles/about-pull-requests/


ブランチ運用の方法としては katoy様やunishakooo様が紹介されている「Git-flow」が有名ですが、
http://nvie.com/posts/a-successful-git-branching-model/
http://qiita.com/homhom44/items/9f13c646fa2619ae63d0

個人や少人数のチームで開発されている場合、ちょっと
「手順が煩雑すぎる」
と感じるかも知れません。

代替の方法として、Github Flow や GitLab Flow といったものもあります(他にもあるかも知れません)。
もし、ご興味があれば、調べてみてください。

  • Github Flow

http://scottchacon.com/2011/08/31/github-flow.html
https://gist.github.com/Gab-km/3705015

  • GitLab Flow

https://about.gitlab.com/2014/09/29/gitlab-flow/
http://postd.cc/gitlab-flow/

ちなみに、私が参加している開発チームでは、Github Flow で開発しております。
単純なフローであるため新規参入のメンバーにも理解してもらいやすく、特に不便に感じることはありません。

GitLab Flow については、試したことがないため何とも言えませんw

投稿2017/03/08 14:46

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dongw

2017/03/11 09:29

回答ありがとうございます。 確かに前者での方法ですとリモートにmasterしか存在しないことになってしまいますね。 参考URLなど載せて頂きありがとうございました。
guest

0

こんにちは。

前者は一人で開発したものを公開する時のフローと思います。
それはそれでありと思います。

後者はGitHubフローの一種っぽく見えます。複数人で開発する小規模プロジェクトならGitHubフローは良いと思いますよ。

投稿2017/03/08 14:40

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんばんわ。
sourcetreeをお使いなのであればgit-flowが標準で対応しているのでそちらで運用してみるのはいかがでしょうか?

投稿2017/03/08 13:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

作業後のブランチをリモートにプッシュ

をして、他の人が リモートの master とブランチを比較して、レビューをし、問題がなければ maste に merge するというのが、チームで開発をするときに使われる方法だと思います。

参考情報

投稿2017/03/08 13:40

編集2017/03/08 15:01
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問