コミットをgitk
右クリックして[ファイルにコミットを書き込む]を選択することにより、ファイルにコミットを書き込みました。
このファイルからコミットを適用するにはどうすればよいですか?コンボはできますがgit apply
、出力(コミットメッセージとメタデータを含む)をそのままコミットするワンステップコマンドはありませんかgit add
?git commit
コミットをgitk
右クリックして[ファイルにコミットを書き込む]を選択することにより、ファイルにコミットを書き込みました。
このファイルからコミットを適用するにはどうすればよいですか?コンボはできますがgit apply
、出力(コミットメッセージとメタデータを含む)をそのままコミットするワンステップコマンドはありませんかgit add
?git commit
質問に対する実際の回答は誰も提供していないようです。https://github.com/sinsunsan/archiref_wiki/wiki/Git-howtoから見つけたものを次に示します。
patch -p1 < patch-file
これは、「ファイルへのコミットの書き込み」によって生成されたパッチファイルを取得し、ファイル内の最初のレベルのパス(-p1)、つまりa /、b /を無視し、ディスク上の現在のファイルに適用するように指示します。結果は作業ツリーにあり、新しいコミットとしてコミットできます。
git commit -am'Commit message here please.'
私はLinuxを使用していますが、あなたが話していることがわかります。コミットを右クリックすると「ファイルにgitk
コミットを書き込む」オプションがあり、git diff-tree --stdin -p --pretty
デフォルトでコマンドを実行するダイアログが表示されます。
git apply
差分を適用するためだけのものです。つまり、コミットオブジェクトは作成されないため、使用しないでください。git am
コミットオブジェクトを作成するため、この操作を実行するための正しいツールである必要があります。ただし、上記のコマンドで出力されたフォーマットを理解しておらず、表示されているエラーが発生します。
最も簡単なオプションは、おそらく、の代わりにをgit am
使用して理解できる形式を使用してパッチを作成することです。フォーマットを強制的に理解する方法があるかもしれませんが、私はパッチをあまり行わないので、それをすぐに気づいていません。git format-patch
git diff-tree
git am
git diff-tree
git am
あなたが探していることをするかもしれません。によって生成されたパッチをgit format-patch
入力として受け取ります。git-gui
何が吐き出されているのかわかりません。
私はこの問題をトリッキーな方法で解決しました。そして、トリッキーな方法で私はそれを手に入れました、私は推測します。
しばらく前に作業していた古いマスターブランチを使用して、コミットごとに新しいプロジェクトに組み込むことにしました。そして、昔は、あるコミットと別のコミットの間でファイルモードをいじっていたようです。
そのため、「ファイルへのコミットの書き込み」を押して、移動用のこれらのコミットファイルを一貫して作成した後gitk
、メモ帳でそれらの一部を編集しながら、コミットファイルを1つずつ「gitapply」し始めました。これが私のために働いた修正のサンプルです。
そんなパーツを微調整しました
index 30d5c59..63e26fb 100755
このように見せるために
old mode 100644
new mode 100755
index 30d5c59..63e26fb
これが他の誰かを助けることを願っています。