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

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

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

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

Q&A

1回答

1773閲覧

gitの変更履歴取り込みについて

O_ssan

総合スコア8

Git

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

0グッド

0クリップ

投稿2016/03/06 14:10

こんにちは。git初心者です。

今からチーム開発の事例を挙げて質問をしますので、お答えいただけたら幸いです。

以下の3つのブランチがあります。
branch:
master -> 常に最新。ここからブランチを生成する
x-devmaster -> X作業のマスターブランチ。最終的にmasterブランチにマージする
a-dev -> AさんのX作業のブランチ
b-dev -> BさんのX作業のブランチ
my-dev -> 私のX作業のブランチ

私、Aさん、Bさんは最新である、masterブランチからそれぞれブランチをきったとします。
Aさんが作業を終え、X作業のマスターブランチにマージされたとします。
そして、私の作業を終えてpushしたい際に、
私のmy-devブランチにはその作業履歴を取り込めていない状態ですが、
x-devmasterにマージする際にコンフリクトを起こさないようにするため、
自分のブランチに変更履歴を取り込み、
x-devmasterにpushしたい場合、どのようにすれば一番スマートでしょうか?

現状私は、
1.my-devブランチにて、作業している履歴をstash
2.masterブランチからtmp-my-devブランチを生成
3.tmp-my-devブランチに、先ほどstashしたものをunstash
4.tmp-my-devブランチでstash
5.my-devブランチを削除
6.x-devmasterをローカルに持ってきて、それからmy-devブランチを生成
7.tmp-my-devブランチでstashしたものをmy-devブランチにてunstash
8.tmp-my-devブランチを削除
という、明らか無駄な行為をしているなとはわかっていながらも、以上の8ステップを行っています。。

ご教示お願いいたします。

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

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

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

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

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

guest

回答1

0

my-dev をチェックアウトしている状態で、
git rebase x-devmaster をして、pushすれば、コンフリクトなくマージできそうです。

投稿2016/03/06 14:31

imokurity

総合スコア297

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問