作業ブランチ間違えた!git stashで退避の使い方まとめ
あ。作業ブランチ間違えた!git stashで退避の使い方まとめ
忘れてしまいがちなgit stash
commit checkout add が利用頻度高いgitのコマンドかな。
私はその次によく使うコマンドがgit stashでして、
っていう時に使えます。
stashをして変更分を退避して移動したブランチでcommitをする
STEP1:git stashで一時退避
or
git stashだけでも良いですが、stashに名前をつけて複数 退避させたコードがあると管理しやすいです
STEP2(1):checkoutして退避したコードをマージ
git stash popで最後に退避させたコードをマージすることができます。
git stash pop
STEP2(2):stash番号を指定して退避したコードをマージ
最新の退避コードではなく、複数の退避させたコードのうち、番号または名称を指定してマージする方法です
stash一覧を確認
stash@{0}: WIP on your-branch-name3: 652br4e あああああ
stash@{1}: WIP on your-branch-name2: wwde12e いいいいい
stash番号を指定してマージ
基本的な使い方は、stashして退避させ、正しいブランチに移動してからstash pop で退避したものを戻します。
その他使いどころとして、まだ実装方法が明確に決まっていない時に仮で作ったものを一時的にとっておくという使い方もできますね。
その他 stashの使い方
退避コード一覧
以下コマンドの【】の中はlistで表示されたstash番号を指定
退避のファイルの一覧
例
git stash show stash@{0}
退避の変更内容を表示
(git diffのように表示される)
退避の削除
git stash clear
//全削除
git stash drop 【stash番号】
例
git stash drop stash@{0}
Mac OSの.DS_Storeはグローバルに.gitignoreで永久にコミット対象外に
.DS_Store もう.gitignore毎回書くのやめません?
めんどいわー、うっかり.gitignore漏れてたわー。コミット入っちゃったわー
そんな.DS_Storeは.gitignore_globalで永久にcommit対象外だ!
そもそもMac環境でなければ.DS_Storeは発生しないわけだし、それって.gitignoreに書いてcommitする意味ある?毎回書いててめんどくさい。
そんな時には.gitignore_globalで永久にcommit対象外とします。
ホームディレクトリに.gitignore_global作成
.DS_Storeを記載
gitへ設定
(見づらいんですが、ハイフンは2つです)
gitへ設定
(見づらいんですが、ハイフンは2つです)
listに先ほどの.gitignore_globalがあればOK.