4

ステップバイステップのソフトウェア開発を示すために、セッションデモで git をよく使用します。今までは発達のマイルストーンにタグを付けて、チェックアウトして次のステップに進んでいました。しかし、これは良い考えではありません。特定のステップを更新したいことがありますが、タグから別のタグへの移行は必ずしも直感的ではありません。

物事を改善しようとする興味深い方法をいくつか見つけました。https://coderwall.com/p/ok-iygでは、ステップ間のナビゲーションを容易にするために next および prev エイリアスが定義されていますが、これらのエイリアスはコミットで定義されているため、更新ステップの問題は解決されません。http://www.damirscorner.com/UsingGitInSessionDemos.aspxでは、手順はブランチに基づいており、更新を許可するためのより良いソリューションだと思います。このコンテキストでは、おそらくブランチの命名規則 (step1、step2 ... など) を使用して、next や prev などのコマンドを再定義することができます。

しかし、完全に機能するコントロールを得るために、次のようないくつかの操作を追加することが理想的です: ブランチの修正と、1 つまたは複数の他のブランチ (前または次のブランチ) とのマージの可能性、または離れる直前のチェック作業ディレクトリをクリーンにするステップで、クリーンまたはコミットのいずれかを提案します。

私が望む環境により速く到達するのに役立つ、この精神の拡張機能/ワークフロー/ユースケースを知っていますか?

前もって感謝します!

4

1 に答える 1

0

かなり単純な解決策の 1 つは、これら 2 つのエイリアスを作成することです (*nix 環境を想定)。

git config alias.prev prev`git branch | grep '\*' | cut -d' ' -f2`
git config alias.next next`git branch | grep '\*' | cut -d' ' -f2`

それらは次のように解決されます。

git prevbranch
git nextbranch

...branchは現在のブランチの名前です。たとえば、masterブランチにいて を呼び出すとgit next、 に解決されて実行されますgit nextmasterprev次に、それらの/next名でレポローカルエイリアスを作成できます。

git nextから へ、および から からstep1step2移動git prevする場合はstep2、次step1のエイリアスを作成します。

git config alias.nextstep1 'checkout step2'
git config alias.prevstep2 'checkout step1'

これにより、緩やかに接続されたノードの git のようなシステムになり、名前付き参照によってのみ接続されます。セクションの.git/config下で簡単に編集[alias]でき、任意の環境ですぐに使用でき、適切なリポジトリ内のファイルから離れて含まれます。

構成ファイルはリポジトリと一緒に移動しないことに注意してください (つまり、クローン、フェッチ、プッシュ、またはプルの場合)。そのため、.gitフォルダー、または少なくとも.git/configファイルを持参するか、どこにいてもそれらのエイリアスを作り直す必要があります。

于 2013-09-25T09:53:19.143 に答える