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

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

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

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

Q&A

解決済

1回答

1928閲覧

git fetch → git merge で過去数年分の大量のコミットが同期されてしまったので消したい

kagome96

総合スコア11

Git

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

0グッド

1クリップ

投稿2020/10/12 02:31

リモートリポジトリから最新の取り込みをするため
「git fetch origin」
を実行し、そのあと「git merge origin/master」
を実行して、現在の作業ブランチを最新の状態に更新しました。

ファイル自体は最新に更新できたのですが、
マージしたものをコミット→プッシュしようとすると、
過去にこのプロジェクトを編集した、数年分のコミットがプッシュされてしまいます。
(まだプッシュはしていません。
プッシュ結果のプレビューをeclispe上で確認している状態です。)

過去のコミットが大量に含んでしまう状態を修正したいと思っています。
↓を試しましたが、同じ結果(大量のコミットを含んでしまう)になってしまい、どうすべきかがわかりません。
・「git reset --hard マージした時のコミットID」でマージを取り消し
・「git merge origin/master」

ーーーーーーーーーーーーーーーーー
ちなみにgit branch -a で表示されるのは↓の通りです。

・作業しているブランチA
・master
・remotes/origin/HEAD -> origin/master
・remotes/origin/master
ーーーーーーーーーーーーーーーーー

根本的なところからわかっておらず申し訳ありませんが、
お答えいただけると助かります。

(疑問)
・「git fetch origin」の時点で過去の大量のコミットが同期されたのか。だとするとfetchを取り消したらよいのか?

・「git fetch origin」→リモートのmasterから、ローカルのorigin/masterを最新に上書きするという理解であっているか?
・「git merge origin/master」→ローカルのorigin/masterから、作業ブランチAを最新に上書きするという理解で合っているか?

・remotes/origin/HEAD -> origin/master
remotes/origin/master
→この2つの違いがよくわかりません。fetchしたときにできたものか。
「remotes/origin/master」は不要なものだとしたら消した方が良いか。

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

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

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

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

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

Zuishin

2020/10/12 02:38

履歴はそもそも同期するもので、付け焼き刃で余計な事をするとオリジナルを破壊する恐れもありますが、そのリスクを受け入れるだけのメリットと覚悟がありますか?
kagome96

2020/10/12 02:40

なるほど、コミットが大量になってしまうのは仕方のないことでしょうか。 できればオリジナルは破壊したくないですが、方法があるとしたらお聞きしたいです汗
Zuishin

2020/10/12 03:07

一番安全で簡単そうなのは、次です。 1. まずリモートリポジトリをクローンした新しいローカルリポジトリを作ります。 2. そこに現在作業中の古いローカルリポジトリから最新のファイルをコピーします。 3. それをプッシュします。
kagome96

2020/10/13 07:12

ご回答、ありがとうございました。 大量のコミットになってしまうと心配しておりましたが、問題はありませんでした。 教えていただきありがとうございます。
guest

回答1

0

ベストアンサー

過去にこのプロジェクトを編集した、数年分のコミットがプッシュされてしまいます。

その履歴まで含めてすべて保存するのが適切なGitの運用だと思うのですが、なにか問題があるのでしょうか?

投稿2020/10/12 02:54

maisumakun

総合スコア146018

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

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

maisumakun

2020/10/12 02:55

> コミットが大量になってしまうのは仕方のないことでしょうか。 「仕方ない」というより(長期間に渡って開発を進めた状況であれば)「そうあるべき」ものです。
kagome96

2020/10/13 07:10

ご回答ありがとうございました。 画面上のプレビューでコミットがかなり大量だったため、これでいいのか?と思ってしまいました。 問題はなかったです。すみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問