2017-11-30 13 views
1

最終的なアプローチを決める前に、さまざまなアイデアをすばやくプロトタイプ作成するために、しばしばコードを使って「実験」する時間を費やします。私は自分の進捗状況を「チェックポイントする」ことをサポートする良いワークフローを見つけるのに苦労しています。Git:コードを素早くプロトタイプ化するための良いワークフローがある

gitを使用すると簡単に任意の段階でコミットできますが、ブランチのコミット間で前後にジャンプすると、頭がないブランチになり、実際にどこでも追跡されないため、コミットを失うのは簡単です。 "featureA_simple_threshold_20"、 "featureA_simple_threshold_10"、 "featureA_complex_threshold_42"のような複数のブランチを作成すると、その問題は緩和されますが、(私にとってはそう思われる)非常に面倒な作業スペースにつながります。それは紛争が始まる前です。

私はPythonのレシピパッケージを見てきました:https://github.com/recipy/recipyこれは私が探しているものに似ていますが、配列のようなオブジェクトを永続させることに依存していますが、私の結果のために。

これはかなり一般的な使用例であるはずですので、推奨できる良いワークフローはありますか?ここで私を助ける代替ツールはありますか? (私は主にPythonで開発していますが、これは言語以外の問題のようです)

+1

複数の分岐がありますが、アプローチを決定したら、他の分岐を削除(または必要に応じてマージ/リベース)して取り除きます。いくつかのプロトタイプを作成することは良いアイデアですが、悪いものは投げ捨てます。また、多くの試行であなたの履歴が乱雑になったら、それを試してから最初のオプションに戻って、単純にrebase/squash操作を行い、複数の前後のコミットを1つにまとめる。 –

+0

[tags](https://git-scm.com/book/en/v2/Git-Basics-Tagging)と[worktrees](https://git-scm.com/docs/)のいくつかの組み合わせが、 git-worktree)は、あなたが求める柔軟性を提供します。しかし、経験から言えば、ワークフローの混乱は、どのツールを使用しても管理するのがかなり難しいでしょう。あなたは、半ダースのモノリシックなブランチを試みるのではなく、自分の仕事を細かく分割することを検討したいと思うかもしれません。 – JDB

答えて

1

このように複数の分岐を作成すると、この問題は緩和されますが、非常に面倒な作業スペースにつながります;

1つのワークスペースだけを残しておけば厄介です。
しかし、Git 2.5以降では、クローンされた1つのリポジトリに対して複数のワークスペース(ブランチごとに1つ)を持つことができます。 「Multiple working directories with Git?」を参照してください。

最終的なアプローチを決定したら、you can make that branch your main branch

+0

私は以前に仕事場に出会ったことはありません。私はそれらを渦巻きにするかもしれません。 – David258

+0

@ David258はい、ときどき1つの作業ツリーで*すべて*を実行しようとすると面倒です。 – VonC

関連する問題