gitの中で名前によって指定された格納および取得する方法?

この翻訳から:gitの中に隠し名を取得し、名前によってどのように?

常に印象で、あなたが実行してスタッシュAの名前を与えることができることを私の下にあったgit stash save stashname後で実行して適用することができ、その上にgit stash apply stashname 私はいつもあなたができると思うgit stash save stashnameことがgit stash save stashname後で、名前ことができますgit stash apply stashname このITしかし、それは起こった場合のすべてでいるようだstashnameASスタッシュで使用されることで説明。 しかし、それはそうです、この場合には、起こるすべてをしていることをstashname記憶装置が記載されているように使用します。

実際に名前を付ける方法はありませんスタッシュは? 本当の名前を非表示にする方法はありませんか? ない場合は、ために何をお勧めします ?同等の機能を実現 されていない場合、あなたは何を提案同じ機能を達成することができますか? A小は私が定期的にしたいと私だろうが適用される基本的に持っている隠しておく、しかし、常にはでハントに持っていたくないgit stash list、実際の数スタッシュものです。 基本的に私は私が定期的に適用されます、少しスタッシュを持っていますが、必ずしもする必要はありません。中git stash listの実際の数を隠蔽しようとしています。


#1階

参考:https://stackoom.com/question/lHeC/ gitの中で名前によって指定された格納および取得する方法


ハウス#2

スタッシュは永久的なものであることを意味していないあなたが望むように。 あなたは永久的な何かをしたいものではありません追い込まれました。 あなたは、おそらくより良いタグを使用して提供されると思いコミットに。 使用するラベルは、提出時に良いかもしれません。 あなたが。隠したい事構築 非表示にしたいものの建設を。 それから出てコミット。作り のこだわりを。 コミットそのためのタグを作成します。 提出用のタグを作成します。 戻る次に、あなたの支店を転がしHEAD^ あなたのブランチに続いてロールバックをHEAD^ あなたが使用できることを再適用今のスタッシュにしたいときgit cherry-pick -n tagname-nIS --no-commit)。 あなたがしたいときに今、ストアを再適用は、使用することができますgit cherry-pick -n tagname)。-n--no-commit


ハウス#3

あなたはブランチにスタッシュを変えることができます :あなたはそれが重要十分だと感じた場合 、あなたはそれはあなたがブランチに隠しておくことが重要だと思う場合:

git stash branch <branchname> [<stash>]

manページから: manページから:

小切手OUT Aを作成し、名前のこの新しい新しい支店<branchname>からの始動がでATれるコミット<stash>適用で記録された変更では、最初に作成された<stash>時に低下し、その後、ザ・ツリーとインデックスに新しい新しい作業に<stash>正常に完了が。というIF これはと呼ばれ、確認されたファイルを作成します。新しいブランチは<branchname>からのコミットメントに始まった<stash>最初の作成、内のアプリケーション・ノートの変更<stash>新しい作業ツリーとインデックス、その後、削除<stash>正常に完了した場合。 NO際<stash>の一つの最新の適用で、与えられている。 いいえの場合<stash>は、最新のを適用されません。

支店で有用なのは、あなたRANがこのオンの場合IS git stash saveの適用gitのスタッシュが競合に合計ために失敗したことを十分に変更されました。 あなたが実行している場合git stash save、十分な枝は、競合が失敗適用、gitの隠し変更されている、それが有用です。 スタッシュはの上に適用されるので、それは時間のgit隠しが実行された時、それは無競合で、もともと隠し状態を復元します。HEADだったコミット は、アプリケーションの提出のgitの隠し場所を実行したときにストレージがHEADにあるので、それがするので、競合することなく元のストレージの状態を復元します。

後でこの新しいブランチをリベースすることができ 、あなたが隠したときに、あなたがたどこの子孫だいくつかの他の場所。 あなたが他の場所に移転し、この新しいブランチは後で、この場所は、あなたが隠した位置で使用することができます。


#4階

これは、あなたがそれを行う方法である: これは、あなたがそれを行う方法です。

git stash save "my_stash"

WHERE "my_stash"スタッシュ名であります。 どちら"my_stash"である"my_stash"名前。

いくつかのより便利なものは知っている:すべてのスタッシュはスタックに格納されている。 いくつかのより有用な知識を:すべてのストレージはスタックに格納されています。 タイプ: タイプ:

git stash list

これは、すべてあなたのスタッシュを下に一覧表示されます。 これは、あなたのスタッシュのすべてが一覧表示されます。

スタッシュを適用してから、それを削除するにはスタッシュスタック、入力: 適用すると、メモリ・ストレージ・スタックからそれを削除するには、次のように入力します

git stash pop stash@{n}

スタッシュを適用し、それを維持するためにスタッシュスタック、タイプ: ストレージ・スタックに保存され、保存されて適用するには、次のように入力します

git stash apply stash@{n}

WHERE n変更の指標。で隠しでIS 率の変化を隠されています。n


ハウス#5

エイリアス エイリアス

sapply = "!f() { git stash apply \\"$(git stash list | awk -F: --posix -vpat=\\"$*\\" \\"$ 0 ~ pat {print $ 1; exit}\\")\\"; }; f"

使用方法 使用方法

git sapply "<regex>"

  • Windows用のGitとの互換性 Windows用のGit兼容

編集:私は私の元の溶液に貼りますが、大半は(上)ETANライスナーのバージョンを好むだろう、なぜ私が参照してください。 編集:私は私の元の溶液に立つが、ほとんどの人は、バージョンETANライスナー(トップを好む理由を私は理解して)。 だからレコードの: ので、ちょうどレコードの:

sapply = "!f() { git stash apply \"$(git stash list | grep -E \"$*\" | awk \"{ print $ 1; }\" | sed -n \"s/://;1p\")\"; }; f"

ハウス#6

エイリアスこれは、より直接的に似た構文のUnixシステムのカプセル化のためのA.で機能しなくても、あるかもしれない エイリアス機能の中にカプセル化することなく、より直接的なUnixライクな構文かもしれません。 [エイリアス]の下の.gitconfig /追加するには〜以下 〜/ [エイリアス]の下に以下を追加します。.gitconfig

sshow = !sh -c 'git stash show stash^{/$*} -p' -
sapply = !sh -c 'git stash apply stash^{/$*}' -
ssave = !sh -c 'git stash save "${1}"' -

使用法:sapply 正規表現の 使用:sapply 正規表現

例:gitのsshow MySecretStash 例:gitのsshow MySecretStash

末尾のハイフンは、テイク入力語る標準入力から。 最後のハイフンは、標準入力からの入力を取得します。

オリジナルの記事は、0公表 ウォン称賛73 ビュー550 000 +を

おすすめ

転載: blog.csdn.net/w36680130/article/details/105262045