テンポラリな修正のステ方

開発版と配布版を同時に端末に導入したいんよね、というリクエストがあり色々確認した結果、パッケージの名前を別にするしかない、という事が分かり開発版なソレは別アプリとして云々、みたいな話なったのは良いのですが、テンポラリな branch を作成してパッケージ名を修正したソレはさくっと廃棄したい。さてどうするか。
パケジ名が変わってる、という事は src 配下のディレクトリが変わってる、ということで削除が絡んでて結構面倒。

  1. 丁寧に元に戻す
  2. git stash してスタックからおもむろに取り除く

どちらが良いのか。

とは言え

not staged な status なら元に戻すのは簡単なのかな。丁寧にやる方法だと

$ git checkout HEAD src/jp/shuri/android/hoge/fuga
$ git checkout `git checkout |awk '{print $2;}'`
$ rm -rf `git status | grep src|awk '{print $2;}'`

みたいなカンジ。そして一連の作業が終了したら無名 branch に居ました。何故だ。元の branch に戻ると修正は破棄されていましたが、ちょっと微妙な感触。

git stash してみた

新規追加は stash で退避できないのか。って思ったら git checkout -f という方法がある模様。でもこれも追加したソレは残ってますね。仕方無いのかな。最速は以下?

$ git checkout -f
$ rm -rf `git status | grep src | awk '{print $2;}'`

削除については git clean -f という解もある模様。ヤッてみましたが、消しかたがよく分からんな。以下なのか。

$ git checkout -f .
$ git clean -f `git status|grep src|awk '{print $2;}'`

あまり変わらないカンジですね。

ちなみに

備忘まで、パケジ名をハマらずに変更する方法を以下に列挙しておきます。

  • develop からテンポラリなブランチを新規作成
  • AndroidManifest のパケジを書換え
  • src フォルダ配下のパケジ名右クリックして refactor -> rename
  • project -> clean
  • apk 作成

git clean だとディレクトリが残るな。