問題タブ [git-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 投票する
1 に答える
150 参照

git - git リポジトリのサイズに影響する要因はどれですか

もちろん、データを除いて、gitリポジトリのサイズに寄与する要因を知りたいです。

長い歴史を持つことは、大きなレポを意味しますか? 多くのブランチを持つことはそれに何らかの影響を与えますか?

また、皆さんはコミットをどのように処理していますか? 各コミットには、変更の論理単位が少なくとも 1 つ追加されている必要があることを読みました。プッシュする前にリベースすることでコミットを押しつぶすことができることを私は知っています。(もちろん、公開されたリベースは絶対にしないでください)。

だから私はそれらをつぶすべきかどうかわかりません。サイズが変わるかどうかわからないので。

ありがとう

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

git-commit - Git Squash と以前のコミットの削除

GIT の仕組みを誤解していたのかもしれません。

私は実行git rebase -i HEAD~10しましたが、10 個のコミットを 1 つにまとめることができました。問題は、押しつぶされたすべてのコミットがまだそこにあることであり、それらをすべて 1 つにマージした後に削除されると思っていました。

これは期待される結果ですか?もしそうなら、履歴を書き直して無駄なコミットを削除できますか (これらの変更は、以前のすべてのコミットが押しつぶされたコミットに既に含まれているため)?

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

git - 誤って「git rebase -i master」を実行し、現在の状態がわからない

ローカル リポジトリで作業していますが、アップストリーム リポジトリはありません。HEADが最新のコミットを参照する単一のブランチ「マスター」がありました。何か*を達成しようとして、私は次のことを行いました:

エディターウィンドウが表示され、ピックとスカッシュを行うことができました. 次に何をすべきかわからないので、エディターを閉じて (変更は行われませんでした)、git から次のように指示されました。

refs/heads/master のリベースと更新に成功しました。

それがgitの応答の合計でした。

ここで 2 つの質問があります。

まず、私のブランチで実際に何か変更がありましたか? また、私のブランチは現在どのような状態にありますか? (私はそれが 1 で 2 つの質問であることを認識しています。)

次に、このコマンドによる影響があった場合、元に戻すにはどうすればよいですか?

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

git - すべてのコミットのログを保持しながら --squash を使用して Git マージ

初期シナリオ:

マージ後に欲しいもの --squash:

ブランチmastergit logは、

ブランチで開発を続けるdevelopment:

再度スカッシュでマージします。

ブランチmastergit logは、

ブランチdevelopmentgit logは、

masterすべてのコミットをオンに保ちながら、押しつぶされたコミットとマージしたいと思いdevelopmentます。

それを実装する方法がわかりません。私の問題は、最初のマージでDポイントを作成する方法がわからず、のみではなく含めることです。EIB,C,D,E,F,G,HF,G,H

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

git - PR が送信され、変更がコミットされた後に Git コミットをスカッシュすることは可能ですか?

私たちは Git を学んでおり、ホスティング サイトとして GitHub を使用しています。

upstream私たちは皆、レポをフォークし、コミットを PRupstreamして変更を取り込みます。

アップストリームのコミット履歴をきれいに保つために、コミットをつぶす方法を学ぼうとしています。

私たちは頻繁にコミットします:)

つまり...プルリクエストを送信すると..その後、プロジェクトメンテナーがコミットにコメントを追加します(つまり、PRのコードレビューを行う)...開発者は問題を修正してプッシュアップします再びコミットします。

これらのコミットをつぶして、PR のコミットが 1 つだけになるようにすることはできますか? GH のコメント (この PR に反対) はどうなりますか?