問題タブ [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.
git - Gitはツリーと作業ディレクトリから過去のコミットを削除します
現在、私のgitツリーは次のようになっています
私がやりたいことは、コミット 2 と 3 から変更を削除し、変更をプッシュすることです。私が隠したコミットされていない変更がいくつかありました(それらは主に構成ファイルとmakeFileであるため、ツリーに入れたくありません)。また、現在行っているように作業ディレクトリを台無しにしないようにするための最善のプロセスは何かを知りたいです。助けてください
Git初心者、
ありがとう。
git - Merge + Squash は MERGE_HEAD を変更しませんか?
私たちはローカル ブランチを持ち、全員が独自のブランチで作業しているチームで作業しており、いくつかのブランチをコミットして --squash とマージしました。
ここで、「ステージング」ブランチにマージされたブランチを削除する必要があります。
問題は、ブランチを表示するために「git diff」をコマンドすると、押しつぶされたすべてのコミットがマージされていないことが示されることです。
以下を使用して、マージされていないブランチを取得しています。
ありがとう!
git - --squash を使用して git merge 後にブランチを比較する
親ブランチ A と子ブランチ B があります。ブランチ B には 2 つの別々のコミットがあります。このように、AのブランチBをスカッシュとマージしました
ブランチ A とブランチ B を比較すると:
ブランチ B からの両方のコミットがマージされていないことを示しています。親ブランチ A の押しつぶされたコミットと比較するにはどうすればよいですか? 両方のブランチ間で応答に違いがないように
ありがとう
git - Git - ブランチ全体をスカッシュ - 1 行のスカッシュ コマンド
新しいコードに取り組んでいる間、変更を追跡するために多くの小さなコミットを行います。ただし、私の会社では、各機能を 1 回のコミットとしてコミットすることを好みます。したがって、解決策は、(ローカル) ブランチ全体を単一のコミットに押しつぶすことです。
すべてのコミットを使用git rebase --interactive
して変更せずにブランチ全体をスカッシュするにはどうすればよいですか?pick
squash
git - 名前を変更したファイルの Git スカッシュ コミット (履歴を保持)
背景
こんにちは、私はローカル機能ブランチに取り組んでいます。このローカル ブランチは、多数の小さなコミットでめちゃくちゃになっています。ブランチをリモートにプッシュする前に、整理したいと思います。
このために、インタラクティブなリベースを行います。
今のところ問題ありません。
問題
ここで難しい部分があります。機能の開発中に、名前の変更やファイルの移動など、いくつかのリファクタリングを行いました。名前を変更したファイルの履歴は、次のように名前を変更することで利用できます。
しかし、rename-commit の前後にコミットを squash すると、履歴がなくなり、git はファイルの削除と追加として変更を通知します。
何が問題ですか?
ファイルの履歴を失うことなく、名前の変更を含むコミットを無効にするにはどうすればよいですか?
git - Intellij の「コミット前」オプションの意味
コミット時に表示されるいくつかのオプション (チェックボックス) に関するドキュメントが見つかりません。
IDE からのすべてのコミットに対するオプションを探していますsquash
が、これらのオプションの 1 つがそれを行うのに役立たないかどうか疑問に思っています。さまざまなオプションに関する公式ドキュメントはありますか?
git - 間にマージコミットがあるコミットをスカッシュする方法は?
私は機能ブランチに取り組んでいます。
- いくつかのコミットを行いました。押しつぶされたコミット。
- 変更をリモート ブランチにプッシュしました。競合が発生しました。
- マスターからの変更をマージし、機能ブランチで競合を解決しました。
git fetch origin master
git merge FETCH_HEAD
- 競合を手動で解決しました。
git commit
git push
- もう1つコミットしました。
というわけで、現在のコミット履歴はこんな感じ。現在から古いものへ:
- コミット 3
- commit My yyy (マージ済み)
- コミット 2
機能ブランチをマスターにマージする前に、3 つ以上のコミットを 1 つにまとめるにはどうすればよいですか?
git - マスター ブランチでコミット メッセージをスカッシュする
リモートリポジトリへの最後のプッシュの後、Git で master ブランチに取り組みました。現在、プッシュするコミットが 6 件あります。これらの 6 つを 1 つのコミット メッセージに押しつぶしてから、プッシュしたいと思います。
なにか提案を?
linux - パラメータの前にスペースのないxargs(または何か他のもの)
次のようなものを実行したいと思います (git squash):
から3を抽出するgit log
:
xargs は の後にスペースを挿入するため、これは機能しませんHEAD~
。
問題は、このコマンドにエイリアスを付けたいことです。そのため、単に使用することはできません
エイリアスを定義するときに数値が評価されるためです。
を使用するxargs
必要はありません。エイリアスが必要なだけです (できれば関数ではない)。
git - Git マージを押しつぶすが、作成者は保持しますか?
マージを押しつぶすことは可能ですが、git-blame で使用するために作成者を保持できますか?