LoginSignup
6
4

More than 5 years have passed since last update.

git stashで待避した内容のパッチを作成・反映する

Posted at

はじめに

開発ブランチで作業中のコードをgit stashで一時退避し、更新されたmasterブランチをrebaseしたところ、なにやらよろしくないものがpushされていたらしく、IDEでロードできないプロジェクトになってしまった。

そこで、該当プロジェクトは捨て、別にcloneしたプロジェクトにstashで待避していた内容を反映したいと思ったとき、パッチを作成して反映するという手段でうまくいった。

方法

# IDEでロードできないプロジェクトを移動
mv -f foo error-foo
cd error-foo

# 待避先がstash@{0}だとしたら、この待避内容をパッチ化する
git stash show stash@{0} -p > /path/to/stashed.patch

# ロードできない問題が解決されたプロジェクトをclone
cd ..
git clone https://www.example.com/foo.git foo
cd foo

# --dry-runで試行してからパッチ反映
patch --dry-run -p1 < /path/to/stashed.patch
patch -p1 < /path/to/stashed.patch

IDEでfooをロードし直す。

参考文献

助かりました!

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4