[解決済み] 特定のファイルを git stash するにはどうしたらいいですか?
2022-03-14 17:43:40
質問
特定のファイルだけを保存して、他のファイルは保存しないようにするにはどうしたらいいですか?
例えば、git statusでこのように表示された場合。
younker % gst
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: app/controllers/cart_controller.php
# modified: app/views/cart/welcome.thtml
#
no changes added to commit (use "git add" and/or "git commit -a")
で、app/views/cart/welcome.thtmlだけを隠したいのですが、どうすればいいでしょうか?のようなものです(もちろん、これはうまくいきません)。
git stash save welcome_cart app/views/cart/welcome.thtml
解決方法は?
EDITです。
git 2.13以降では、stashに特定のパスを保存するコマンドが用意されています。
git stash push <path>
. 例えば
git stash push -m welcome_cart app/views/cart/welcome.thtml
OLD ANSWERです。
を使って行うことができます。
git stash --patch
(または
git stash -p
) -- 対話モードになり、変更された各ハンクが表示されます。使用方法
n
を使うと、隠したくないファイルをスキップすることができます。
y
を、隠したいものに遭遇したら
q
で終了し、残りのハンクは隠さずに残しておきます。
a
は、表示されているハンクと、そのファイルにある残りのハンクを格納します。
最も使いやすい方法とは言えませんが、本当に必要な場合はこれで仕事を終わらせることができます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] ステージングされた変更を表示するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルの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:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
[解決済み】Git Extensions。Win32 エラー 487: cygwinのヒープ用に領域を確保できなかった、Win32エラー0
-
git commits with an error: 更新が拒否されました。現在のブランチの先端が、このブランチより後ろにあるためです。
-
[解決済み] ERROR: リモートレポ 'origin' のクローン作成に失敗しました。
-
[解決済み] git initを2回実行すると、リポジトリが初期化されますか?それとも既存のリポジトリを再初期化しますか?
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?