問題タブ [squash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
304 参照

git - git squash とそれに続く push はデータを再送信します

バイナリ データでいっぱいのディレクトリをリモート サーバーに git-push したいと考えています。

これには数日かかる場合があるため、ローカルでコミットして一度に 1 つのファイルをプッシュします (すべてを一度にコミットしてプッシュすると、転送が中断された場合、最初からやり直す必要がありますよね?)。

すべてが転送されたら、これらすべてのコミットを 1 つにまとめたいと思います。ローカルで押しつぶしてから押すと、すべてのデータが再度送信されます! それは私の戦略の目的を無効にします。

リモートにログインして、スカッシュ操作をリモートで繰り返すことができるかもしれませんが、やりたいことを行うためのより良い方法はありますか? すべての適切なデータが既にサーバー上にあることを git に通知するにはどうすればよいですか?

0 投票する
40 に答える
2541106 参照

git - Git を使用して、最後の X コミットを一緒に押しつぶす

Git を使用して、最後の X コミットを 1 つのコミットにまとめるにはどうすればよいですか?

0 投票する
10 に答える
449207 参照

git - プッシュされた後にgitでコミットを押しつぶす方法は?

これは、複数のコミットを潰すことの良い説明を与えます:

http://git-scm.com/book/en/Git-Branching-Rebasing

ただし、すでにプッシュされているコミットでは機能しません。ローカルリポジトリとリモートリポジトリの両方で、最新のいくつかのコミットを潰すにはどうすればよいですか?

私がそうするときgit rebase -i origin/master~4 master、最初のものをとして保持しpick、他の3つをとして設定しsquash、そして終了します(emacsのcx ccを介して)、私は次のようになります:

ここで、2f40はpickコミットです。そして今、4つのコミットのどれもに表示されませんgit log。コミットメッセージを入力できるように、エディターが再起動されることを期待していました。私は何が間違っているのですか?

0 投票する
2 に答える
665 参照

git - git merge --squash はクロスブランチマージで頭痛の種になりますか

私は成長し、git を利用しているチームで働いています。私たちは通常、独自の支店で働いています。

別のワーカー リポジトリからいくつかの変更をプルしました。彼の変更は最終的にスカッシュ コミットでマスター ブランチに追加およびマージされました。

マスターから取得してマージしようとすると、競合が発生しました。これは、スカッシュ マージが原因で、マージ トラッキングが混乱するためだと考えています。これから抜け出す簡単な方法はありますか?

第二に。開発者が多数のブランチで作業しており、マスターに移行する前にお互いの変更が必要になる可能性がある場合、マスターでスカッシュ コミットを続行しながらこれを処理する方法があります。

リベースはよく言及されています。しかし、これが複数のルートブランチでどのように機能するかわかりませんか?

0 投票する
2 に答える
1554 参照

git - Git -i rebase : 不明なコマンド: スカッシュ

現時点で私の git-rebase-todo は

コマンドライン出力

squash が認識されないのはなぜですか? git のインストールに何か問題がありますか?

0 投票する
1 に答える
2140 参照

git - 別のブランチから1つのノードへのすべてのコミットを含む兄弟ブランチを作成するにはどうすればよいですか?

私には、6つのコミットがあり、コミットCから派生したブランチmybranchがあります。これもコミットCに基づいて、mybranchからのすべてのコミットを効果的に含み、1つのコミットに押しつぶされた新しいブランチを作成したいと思います。これを行う最も簡単な方法は何ですか?

「git-pushする前にスカッシュする」というマントラのため、これを行う必要があります。新しいブランチについては、リモートサーバーにプッシュされた履歴にmybranchについて言及したくありません。プッシュに使用されるまったく新しいブランチを作成したい理由は、参照用にすべてのコミットをmybranchに保持したいからです。

0 投票する
8 に答える
50344 参照

git - 多数のコミットを非対話的に押しつぶす方法はありますか?

さまざまなコミットを潰そうとしています-HEADからHEAD〜3。これを行う簡単な方法はありますか、それともrebase --interactiveを使用する必要がありますか?

0 投票する
4 に答える
13764 参照

git - git merge (w squash) の GUI はありますか?

私のワークフロー:

  • マスターからの分岐
  • 私のブランチで働き、頻繁にコミットする (100+)
  • ブランチでジョブが完了したら、マスターをブランチにマージし、すべての競合を解決します。
  • マスターにマージする前の CODE REVIEW TIME

CODE REVIEW では、2 つの頭の違いを示し、コミットを圧縮/整理する必要があります(約 5 つのコミットで)。このタスクに最適な GUI (クロスプラットフォーム?) は?

0 投票する
3 に答える
1745 参照

git - 押しつぶされたマージ後にデフォルトの git コミット メッセージを受け入れる

スクリプトで次のことを実行したいと思います。

問題は、マージがコミットを行わないことです。したがって、プッシュの前にコミットする必要があります。このマージによって作成されたデフォルトのコミット メッセージで十分です。だから私の質問は:

  1. コミットを自動生成してマージできますか?

  2. または、スクリプトにコマンドを追加して、デフォルトのメッセージを受け入れるコミットを実行できますか?

ありがとう!

0 投票する
1 に答える
446 参照

git - 履歴を変更せずにすべてのコミット (マージを含む) を 1 つのコミットにまとめる

ブランチに 3 週間取り組んできた 100 個のコミットがあるとします。時折 (本当に毎日)、origin/master からプルしてブランチにマージします。

履歴を台無しにすることなく、すべてのコミットを 1 つのコミットに (簡単に) 押しつぶすにはどうすればよいでしょうか? 何らかの形ですべてのコミットを 1 つにまとめた場合、プル リクエストがオリジン/マスターに移動されたときに、マージされたオリジン/マスター プルは破棄されますか?