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

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

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

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

Q&A

2回答

519閲覧

リモートブランチを共有して作業する際のコミットのまとめ方

avantgarden

総合スコア121

Git

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

0グッド

0クリップ

投稿2023/01/02 07:14

編集2023/01/02 07:16

前提

作業場所が職場と会社で行ったり来たりしており、gitを用いてそれぞれの環境のローカルで作業できるようにしたいです。

gitを浅くしか使用していないため、職場/自宅での作業が中途半端の状態でも、自分のブランチでpush/pullを行い、もう一方で続きから作業を行っているだけのため、コミット履歴が作業ごとに複数できてしまいます。

実現したいこと

例えば、職場でAという作業を途中まで行い、リモートに「作業A」というコメントでpush→自宅で「作業A」をpull→続きから作業を行い「作業A(続き)」というコメントでリモートにpush。

これを、自宅での作業分も「作業A」というコミットにまとめたいと思っています。

試したこと

ネット等で調べつつ、git rebase -iを試していますがよく分かりません。gitの知識が浅いため、まずはやり方を知りながら、逆算でgitの仕組みも調べていきたいと思っていますので、やり方を教えていただきたいです。よろしくお願いします。

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

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

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

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

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

ku__ra__ge

2023/01/03 05:10 編集

やりたい事を実現する手段としては「git rebase -i」で合ってます。 「やり方を教えていただきたいです。」と言われても、解説サイトに書かれていること以上の作業の流れは説明できないので、あなたが分からない部分がどこかを書いてください。
guest

回答2

0

git commit --amend はいかがですか

直前のコミットを変更する: git commit --amend
git commit --amend コマンドは、直前のコミットを変更する最も便利な方法です。これを使用することで全く新しいコミットを作成する代わりに、ステージングされた変更を前のコミットと組み合わせることができます。また

https://www.atlassian.com/ja/git/tutorials/rewriting-history

投稿2023/01/02 12:37

yuma.inaura

総合スコア1453

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

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

winterboum

2023/01/03 00:59

これだと push で失敗するかも。
guest

0

git merge --squashを利用すればいいのでは。

7. merge --squash|サル先生のGit入門【プロジェクト管理ツールBacklog】

ブランチ名は質問者さんの環境に合わせて読み替えてください。

bash

1# developから作業Aブランチを切る 2git checkout -b work-a develop 3 4# 職場での作業を作業Aブランチにコミット 5git commit -m "作業A" 6 7# pushとpullは省略 8 9# 自宅での作業を作業Aブランチにコミット 10git commit -m "作業A(続き)" 11 12git switch develop 13 14# 作業Aブランチの修正をマージ 15git merge --squash work-a 16 17# マージした修正をdevelopにコミット 18git commit -m "作業A" 19 20# developのpushは省略

投稿2023/01/02 08:57

編集2023/01/02 09:11
jhashimoto

総合スコア838

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

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

avantgarden

2023/01/02 12:30

なるほど、親ブランチでそのようなマージの仕方をすれば実現できるのですね。 ちなみに、普通はdevelopなどからブランチを切るので、上記の方法を取れば必要のないことではありますが、 当該ブランチ(work-a)のままで、  git commit -m "作業A(続き)" を行う段階で「作業A」コミットとまとめるようなことは難しいのでしょうか?
jhashimoto

2023/01/02 20:14

rebaseでできるのかもしれませんが、あまり使っていないので何とも言えません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問