51

私は 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 の問題だと思い始めています。

助けていただければ幸いです。ありがとう!

4

4 に答える 4

50

git flow feature pause yak-Speedupコマンドは必要ありfeature pauseません(とにかく存在しません)。代わりに使用するコマンドgit flow feature resume yak-Speedupgit 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>]
于 2011-12-21T18:07:40.257 に答える
8

パーティーに遅れましたが、私の経験はこれです..私はgitフローと組み合わせてgitを使用しています..

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 から独立して分岐し、開発のみを使用していることを確認します。その時点で他の機能からのコミットもあった場合、開発のマージも行うことができます....

于 2016-08-13T08:16:23.763 に答える
0

あなたが本当に欲しいのはブランチです:

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 にマージしてプッシュします。

于 2011-12-20T20:37:33.973 に答える
0

より明示的なモデルを使用してください。これは、追加のコマンドなしで改善された git フローです。

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

ここで重要なことは、feature1 から feature2 を開始しないことです。

お役に立てれば。

アップデート

私はこれについてブログを書きました。もう少し明確になることを願っています:

http://dymitruk.com/blog/2012/02/05/branch-per-feature/

于 2011-12-20T20:45:10.150 に答える