LoginSignup
1
0

More than 1 year has passed since last update.

消してしまったStashにもう一度会いたい

Last updated at Posted at 2022-08-30

前提

このStash必要なくなっちゃったな~目障りだし消しちゃえ。えい。
??「やっぱ変更!必要でした!」

…大切なものはいつも離れてから気付く。
君はいつも、私のことを支えていてくれたのに。

俺が悪かった

帰ってきてくれ。
ターミナルかコンソールを開いて以下のコマンドを実行。

    $ git fsck | awk '/dangling commit/ {print $3}' 

fsckはファイルシステムを検査・修復するコマンドだそうです。
心なしかdanglingがダーリンに見える。
ダーリンとの関係を修復。あの頃をもう一度。

dangling commitはぶら下がったコミットだそうです。。どういうこと?

awkはよくわからなかったです。テキストデータを処理するコマンドらしい。
テキストファイルもしくは標準入力からテキストを読み込んで、マッチングを行う。
マッチングが成功した場合には、そのパターンに対応するアクションが実行される。。とのこと。

とりあえずこのコマンドを実行。

実行結果

Checking object directories: 100% (256/256), done.
Checking objects: 100% (29551/29551), done.
abcdefg12345678902345678901234567890abcd
iedvuibr1345678jnevjx~~~~
・
・

このdoneの下の英数字がいなくなったダーリンを表しているようです。
別れた数が多い方ほど表示が多くなるとか。

目的のdalingをcherry-pickでとってくる

$ git cherry-pick -n -m1 abcdefg12345678902345678901234567890abcd(目的のファイル)

上記のコマンドを実行することにより、別れたStashが戻ってきます。
どれかわからない場合はcherry-pickしては確認を繰り返すか、ログを出して確認します。
ログの出し方はまた経験した際に追記します。

cherry pickは英語で、自分の気に入ったものだけをつまみ食いするという意味を持つそうで、
ここでは特定のcommitを現在のブランチにコピーさせるということをしています。

おかえり

とりあえず戻ってきてよかった。
また仲良くしようね。Stash。
というか、ウーーーーン相変わらずLinuxはわかりませんなぁ。
パソコンの中身をいじるとなると、アプリ作成とかと比較して毛色が異なってくるように感じます。
一つ一つ丁寧に見れば理解はできるのですが、なんか難しい。脳が502 Bad GateWay。
おそらく頭頂葉あたりがsudo rmされているんだと思います。
こればっかりはfsckできないようです。

1
0
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
1
0