問題タブ [git-patch]
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 - パッチ適用時の「1 行で空白エラーが追加されました」とはどういう意味ですか?
複製されたリモート リポジトリのいくつかのマークダウン ファイルを編集しており、あるブランチから別のブランチへのパッチの作成と適用をテストしたいと考えていました。ただし、変更を加えるたびに、次のメッセージが表示されgit apply
ます。
(これは私の Mac で発生しており、元のコードがどこで作成されたのかわかりません。)
警告メッセージは何を意味し、注意する必要がありますか?
git - インタラクティブな追加にはGitのpatiencediffアルゴリズムを使用します
Gitのpatiencediffアルゴリズム(引数を指定して呼び出すgit diff
と得られるアルゴリズム)を。で使用したいと思います。これどうやってするの?--patience
git add -p
背景:私はいくつかのXMLファイルを使用していますが、git diff
の通常のアルゴリズムでは、「位置がずれている」入口/出口タグが原因で、かなり貧弱な差分が生成されます。を実行するgit diff --patience
と、はるかに便利なdiffが得られますが、でこれらのdiffを使用する明確な方法はありませんgit add -p
。
git - GIT stash apply reverse が js ファイルと rb ファイルで機能しない
GIT が javascript ファイルと ruby ファイルにリバース パッチを適用しないのに、php ファイルには適用する理由を理解しようとしています。私の手順は次のとおりです。
...modifying some php, ruby and js files...
git stash
#stash への変更の保存
git stash apply
#それらを適用する
git stash show -p | git apply -R
#リバースパッチ
それは正常に動作し、隠した変更を適用解除しますが、Ruby や JavaScript ではなく、php ファイルに対してのみ適用されます。すべてのファイル (php を含む) にはCRLF
行末があります。LF
行末のあるファイルを試したとき、問題はまったくありませんでしたが、CRLF
行の場合に特定のファイルタイプでのみ機能するのはなぜなのか、まだ疑問に思っています。
ご協力いただきありがとうございます!
windows - ファイルパスに括弧を付けてファイルにパッチを追加する
git add -p
次のように、括弧を含むフルパスを持つファイルで実行したい:
ただし、これを実行すると、次のエラーが発生します。
を使用して括弧をエスケープしようとし\
ましたが、同じエラーが発生します。比較のために、レギュラーgit add
には括弧の問題はありません。
このファイルを に渡すにはどうすればよいgit add -p
ですか?
編集:私がWindowsを使用していることは関連しているようです。
git - Git format-patch vs git log -p
コミットのリストをパッチとして取得し、パッチを取得したいプロジェクトに非常に近いプロジェクトを保存した別のリポジトリにそれらを適用したいと思います。1 つのコマンドですべてのパッチを取得するにはどうすればよいですか? git format-patch と git log -p の間の最良の方法 (および違い) は何ですか?
git - 別の名前とパスを持つファイルに Git パッチを適用する方法は?
私は2つのリポジトリを持っています。1 つは、 file に変更を加えることです./hello.test
。変更をコミットし、そのコミットからパッチを作成しgit format-patch -1 HEAD
ます。これで、hello.test と同じ内容のファイルを含む 2 番目のリポジトリができましたが、別の名前で別のディレクトリに配置されています./blue/red/hi.test
。hi.test
前述のパッチをファイルに適用するにはどうすればよいですか? 私は試しgit am --directory='blue/red' < patch_file
ましたが、もちろん、ファイルの名前が同じではないという不平を言います(Gitは気にしないと思いましたか?)。おそらく差分を編集してその特定のファイルに適用できることはわかっていますが、コマンドソリューションを探しています。
git - Git: 特定のファイルのリストからパッチを作成する
ファイルのリストからパッチを作成したい。たとえば、4 つのファイルを変更する 10 個のコミットがあります。これらの 10 個のコミット中に、これらの 4 つのファイルのうち 3 つの変更を含むパッチを作成したいと考えています。どうやってやるの?
git - git: パッチに有効な電子メール アドレスがありません
パッチファイルがあります。
このパッチを git リポジトリのコードに適用したいと考えています。
Subversion を使用したとき、このプロセスは非常に単純でした。右クリック -> tortoise svn -> パッチを適用します。それは常に私が期待したように機能します。
しかし、gitを使用してこれを行うことはできません。Git がパッチを適用しません。それは不平を言う
パッチには有効な電子メール アドレスがありません。
ですから、私の質問は、「この状況でパッチ ファイルを適用するにはどうすればよいですか?」ということです。
git - git add --patch を使用して手動で編集する
これで、ブランチ A で作業していたファイルができました。これをコミットする準備が整いました。ただし、差分を見ると、2 つの別々のコミット (この場合は 2 つの別々のブランチ) に分けた方がよいと思います。以前に個別のハンクをステージングするために git add --patch を使用したことがあるので、これを使用できると思いました。問題は、ハンクの 1 つを分割する必要があることです。問題のハンクを編集するために実行git add --patch SdA.py
して使用しています...e
大丈夫。下部にミニガイドがあります。わかりました。そのため、新しい関数をこのコミットに入れ、他の関数のドキュメントを別のコミットに入れたいと考えています。ミニドキュメントによると:# To remove '+' lines, delete them.
よさそうですね。その子犬を追加しましょう...
うーん... git add --interactive 「編集したハンクは適用されません」およびgit diff からの出力を読み取る方法は? 影響を受ける行番号を更新する必要があることを説明してください。これを行うには、手動で数えて、「うーん、1、2、3... 23 行を削除しました。以前は 74 行を編集していましたが、今は編集しています... うーん... お願いします。電卓を持っていた... .... 51行」
これは非常に複雑な方法のようです。私はまだパッチが正しいアプローチだと思っていますが、to-file で影響を受ける行の数を手動で更新する必要がある場合は、何か間違ったことをしているに違いありません。これをより簡単かつ効率的に行う方法について何かアドバイスはありますか?