6

コミットをgitk右クリックして[ファイルにコミットを書き込む]を選択することにより、ファイルにコミットを書き込みました。

このファイルからコミットを適用するにはどうすればよいですか?コンボはできますがgit apply、出力(コミットメッセージとメタデータを含む)をそのままコミットするワンステップコマンドはありませんかgit addgit commit

4

4 に答える 4

4

質問に対する実際の回答は誰も提供していないようです。https://github.com/sinsunsan/archiref_wiki/wiki/Git-howtoから見つけたものを次に示します。

patch -p1 < patch-file

これは、「ファイルへのコミットの書き込み」によって生成されたパッチファイルを取得し、ファイル内の最初のレベルのパス(-p1)、つまりa /、b /を無視し、ディスク上の現在のファイルに適用するように指示します。結果は作業ツリーにあり、新しいコミットとしてコミットできます。

git commit -am'Commit message here please.'
于 2014-09-02T09:42:32.233 に答える
2

私はLinuxを使用していますが、あなたが話していることがわかります。コミットを右クリックすると「ファイルにgitkコミットを書き込む」オプションがあり、git diff-tree --stdin -p --prettyデフォルトでコマンドを実行するダイアログが表示されます。

git apply差分を適用するためだけのものです。つまり、コミットオブジェクトは作成されないため、使用しないでください。git amコミットオブジェクトを作成するため、この操作を実行するための正しいツールである必要があります。ただし、上記のコマンドで出力されたフォーマットを理解しておらず、表示されているエラーが発生します。

最も簡単なオプションは、おそらく、の代わりにをgit am使用して理解できる形式を使用してパッチを作成することです。フォーマットを強制的に理解する方法があるかもしれませんが、私はパッチをあまり行わないので、それをすぐに気づいていません。git format-patchgit diff-treegit amgit diff-tree

于 2012-04-19T16:00:24.827 に答える
0

git amあなたが探していることをするかもしれません。によって生成されたパッチをgit format-patch入力として受け取ります。git-gui何が吐き出されているのかわかりません。

于 2012-04-19T14:17:05.313 に答える
0

私はこの問題をトリッキーな方法で解決しました。そして、トリッキーな方法で私はそれを手に入れました、私は推測します。

しばらく前に作業していた古いマスターブランチを使用して、コミットごとに新しいプロジェクトに組み込むことにしました。そして、昔は、あるコミットと別のコミットの間でファイルモードをいじっていたようです。

そのため、「ファイルへのコミットの書き込み」を押して、移動用のこれらのコミットファイルを一貫して作成した後gitk、メモ帳でそれらの一部を編集しながら、コミットファイルを1つずつ「gitapply」し始めました。これが私のために働いた修正のサンプルです。

そんなパーツを微調整しました

index 30d5c59..63e26fb 100755

このように見せるために

old mode 100644
new mode 100755
index 30d5c59..63e26fb

これが他の誰かを助けることを願っています。

于 2020-11-26T20:30:56.397 に答える