私はgitとgit flowが初めてです。私はさまざまなページ、ブログ、それにStackoverflowの質問をすべて読み、日々の開発に使用しています。
しかし、1つの問題が私を悩ませてきました、私はそれに頭を包むことができません。機能ブランチは小さいはずです。機能を開始し、その一部をコーディングして、機能を終了します。これは日常の出来事です。開発ブランチが常にビルド可能であることを確認するだけです。
しかし、私が機能の真ん中にいるとき、それは完成する準備ができていませんが、作業の優先順位が変わるとどうなりますか?別の機能に切り替えられるようにしたいのですが。
たとえば、私は新機能を開始します。
$ git flow feature start yak-Speedup
私はコードを書いたり、ファイルをコミットしたりしています...そしてそれについては順調に進んでいます。しかし、今は作業中のリソースを変更する必要があります。これは、ほとんどの場合、利用できないリソースが必要で、サーバーコーダーが1日か2日準備できないためです。機能が開発ブランチを壊すため、機能を終了できません。
私はこのようなことをしたいと思います:
$ git flow feature pause yak-Speedup
$ git flow feature start alpaca-Sheering
#write code
$ git flow feature finish alpaca-Sheering
$ git flow feature resume yak-Speedup
実際、「git flow feature list」コマンドが存在するということは、いくつかの機能を同時に実行できることを意味します。しかし、機能を作成または切り替える方法がわかりません。実際、これはgitフローの問題ではなく、gitの問題だと私は思い始めています。
どんな助けにも感謝します。ありがとう!
git flow feature pause yak-Speedup
コマンドは必要ありません(feature pause
は存在しません)。 git flow feature resume yak-Speedup
の代わりに使用するコマンドはgit flow feature checkout yak-Speedup
です。これにより、yak-Speedup
機能ブランチに戻り、開発を継続できます。
git flow
を実行すると、次のように表示されます。
Try 'git flow <subcommand> help' for details.
git flow feature help
を実行すると、次のように表示されます。
usage: git flow feature [list] [-v]
git flow feature start [-F] <name> [<base>]
git flow feature finish [-rFk] <name|nameprefix>
git flow feature publish <name>
git flow feature track <name>
git flow feature diff [<name|nameprefix>]
git flow feature rebase [-i] [<name|nameprefix>]
git flow feature checkout [<name|nameprefix>]
git flow feature pull <remote> [<name>]
パーティーには遅れますが、私の経験はこれです。私はgitをgit flowと組み合わせて使用しています。
git flow feature start foo <<== start
#code, hack and COMMIT
git checkout develop <<== go back to develop branch..
git flow feature start foo2 <<== start a new feature
#code, hack and COMMIT
git checkout feature/foo <<== go back to foo. NB: using full branch name
開発に戻って、fooから独立して分岐し、develop onlyを使用していることを確認します。同時に他の機能からのコミットがあった場合、開発のマージも行うことができます。
あなたが欲しいのは本当にブランチです:
git branch feature1 <startingpoint>
git checkout feature1
# hack hack hack, commit commit commit
git branch feature2 <startingpoint>
git checkout feature2
# hack hack hack, commit commit commit
# Oops, urgent request comming in, must switch to stable and patch
git stash
git checkout stable
# patch, commit, Push
# back to feature2
git checkout feature2
git stash pop
etc etc.そのためにブランチが作成されます。
そして、機能が優れていることがわかったら、devとPushにマージします。
より明示的なモデルを使用します。これは余分なコマンドなしで改善されたgitフローです:
https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR
ここで重要なことは、feature2をfeature1から開始しないことです。
お役に立てれば。
[〜#〜]更新[〜#〜]
私はこれについてブログを書いています。それが少し明確であることを願っています: