[解決済み] git-diffからパッチに対応した出力を得ることはできますか?
質問
とても簡単なことを間違ってやっています。 私は、いくつかの変更を再適用するために、通常のパッチファイルを準備しようとしています。
$ git diff > before
$ git diff something_here > save.patch
$ git checkout .
$ patch < save.patch
$ git diff > after
$ diff before after
$
と
something_here
空白
はほぼ動作するのですが、ファイル名が正しくありません。 何かオプションが足りないだけだと思うのですが。
現実には、チェックアウト後にマージを行う予定なので、パッチはそこで失敗するかもしれませんが、私が何を言いたいかはおわかりでしょう。
編集
こちらこそ、間違った質問をしてしまい申し訳ありませんでした。 実際の質問は、変更を保存しておいて、マージを行い、可能であれば変更を再適用したいのですが、可能でしょうか? ということなのですが、私は
中古
この種の問題を解決するためにパッチを使用することと
git diff
は、それが私に望んでいることのように見えました。
チャールズ・ベイリー氏の コメント が正しい答えでした。 私にとってはgit-applyが正解です(git-stashは必要以上にヘビーウェイトに見えますし、リベースやバンドルは今の私のスキルレベルでは到底無理です)。 Charlesが出した答えを受け入れることにします(コメントを受け入れることはできないので)。 すべての提案に感謝します。
編集、6年後
この問題に詳しい人なら誰でも知っているように、私はその難易度を過大評価していたのです。
git stash
. かなり毎日、以下のような順番で使っていきます。
$ git stash
$ git merge
$ git stash pop
解決方法は?
パッチを使う場合は
a/
b/
プレフィックスを使用します。これを行うには
--no-prefix
オプションを使用します (パッチの
-p
オプションを使用します)。
git diff --no-prefix [<other git-diff arguments>]
しかし、通常はストレートな
git diff
に送り、その出力で
git apply
.
ほとんどの場合、私はテキストによるパッチを使わないようにしています。通常、1つ以上の一時的なコミットとrebaseを組み合わせています。
git stash
とバンドルの方が管理しやすい。
あなたの使用例では、私は
stash
が最も適切です。
# save uncommitted changes
git stash
# do a merge or some other operation
git merge some-branch
# re-apply changes, removing stash if successful
# (you may be asked to resolve conflicts).
git stash pop
関連
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git リポジトリからファイルを削除するにはどうすればよいですか?
-
[解決済み] 隠し場所に対する Git の diff
-
[解決済み] gitでstashの中身をプレビューすることは可能ですか?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] "would clobber existing tag "を取り除くには?