問題タブ [git-flow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 既存のプロジェクトに git flow をインストールして構成する
私は git を初めて使用し (git pro book の基本を読んで)、バックエンドの知識がほとんどありません。私のプロジェクトが拡大しているので、git flow は私が必要としている最も適切でシンプルなツールのようです。それでも、始める前に従うべき手順を確認したいと思います。
私の\var\www
フォルダは次のとおりです。
- 私のプロジェクト
- myproject_preview
現在、myproject_preview で変更を行っています。テストを行っており、リリースしても問題ない場合は、変更されたファイルを手動でコピーしています。
変更を myproject にプッシュする前に、変更をプレビューできるようにしたいと考えています。
私が考え出したことから、私はする必要があります:
git init -u
myprojectを使用してリポジトリを作成する- myproject_preview で複製します
git flow init
myproject_preview で- 変更してコミットする
- コミットを myproject にプッシュする (リモートで?)
それは正しい方法ですか?
このスレッドを書いていると、自分が git の概念に精通しているかどうか確信が持てないことに気付きました :/
git - gitflowホットフィックスのエイリアスを作成する方法finish[current_hotfix_branch]
git flowは、一度に1つのホットフィックスブランチのみを許可します。したがって、入力するのではなく、次のようにします。
既存の修正プログラムのブランチ名のみを使用するエイリアスを作成したいと思います。次の擬似コードのようなもの:
誰か助けてもらえますか?ありがとう。
更新:私はzshを使用しています。
git - Git-flow、gerrit、および新しいアップストリーム バージョンへのリベース
github ベースのプロジェクト (適切な追跡ブランチ/タグを使用) から定期的に同期される、gerrit によって管理されるローカル リポジトリを検討してください。開発はコードのバージョン 1 (タグ = 1.0) で初期化されました。開発はそのコードで行われています。そして、定期的に gerrit を介して内部の開発ブランチにマージされ、おそらく内部のリリース/マスター ブランチにもマージされます。
ただし、最終的には、外部 v2.0 に移行するか、(develop から分岐した後に) リリース ラインからすべての変更をプルすることが望まれます。
これが gerrit を介して管理されるコードであることを考えると、開発ブランチを直接リベースして内部/外部の「上流」の変更を開発ラインに取り込むか、または開発から分岐し、開発ブランチを v2.0 にリベースしてから、通常の方法で gerrit を介して開発者ブランチを作成しますか?
前者はこのフレームワーク内では帯域外のように見えるため、質問します...この件について読んだことから(ここなど)、そのようなリベースインプレースは gerrit 内では不可能な場合があり、次の場合は望ましくない可能性があります私たちは定期的にすべてを他のチームにプッシュしています (最終的にはそうなるかもしれません)。後者 (pull-via-developer-branch) はより堅牢に見え、開発者が gerrit または通常の開発プロセスをバイパスするための特別な特権を持っている必要はありません。
あなたの考え?
svn - Subversionでgit-flowモデルを使用することは可能ですか?
私たちはSubversionを使用しており、私のような少数の個人を除いて、Subversionでの分岐とマージの経験はほとんどまたはまったくありません。私のSubversionの経験は、マージとツリーの競合が正確にまれではありませんが、解決するのがそれほど難しくない単純な機能ブランチに限定されています。
それを踏まえて、私は現在のトランクへのコミット方法が私たちのニーズに対して単純に持続不可能であるプロジェクトの管理を支援しています。ローカライズされたチームに機能の分岐とマージを導入し、ある程度の成功を収めました。ただし、単純な機能の分岐では、次のようなすべての質問に答えることができませんでした。
- このリリースと後続のリリースのコードを並行して開発するにはどうすればよいですか?
- どのコードが安定していると見なされますか?
- どの(開発中の)コードが次のリリースに入る予定ですか?
- どの(開発中の)コードが次のリリースに入る予定ですか?
- テスト、アクセプタンス、または本番環境のコードのバージョンは何ですか?
- 同時開発アクティビティを既知の安定したリリースと統合して、バグの導入や不完全な作業を減らすにはどうすればよいですか?
- リリースされたコードにホットフィックスを提供するにはどうすればよいですか?
- ソース管理から、現在進行中の開発活動をどのようにして知ることができますか?
- 活用しながら現在のコードベースを中断することなく、どのように実験または研究開発を行うのですか?
ここで定義されている git-flowは、これらの質問の多くに答えるのに大いに役立つようです。Mercurialでこのメソッドを試しましたが、このメソッドも実装できるようです。残念ながら、この時点でDVCSへの移行はテーブルから外れています。
ただし、Subversionでこのメソッドを模倣する簡単な試みは、多くのマージとツリーの競合で失敗しました。マージオプションとエッジケースは非常に多く、不可解です。
Subversionを使用してgit-flowを実装できますか?その場合、問題のレベルはどれくらいですか?
git - gitflow 機能ブランチを gerrit に公開する
私は Gerrit と gitflow を使用しており、自分の giflow フィーチャー ブランチを Gerrit にプッシュしたいと考えています。シンプルに使うと
許可されていないfeature/feature_nameブランチにプッシュしようとしているため、Gerrit はプッシュを拒否します。代わりにrefs/for/feature/feature_nameにプッシュし、存在しない場合はこのリモート ブランチを作成したいと思います。
私のgit構成で、設定しようとしました
しかし、gitflow を使用して公開すると、この設定は無視されます。
gitflow のfeature publishコマンドを使用してリモート ブランチを設定する方法はありますか?
git - github を使用した Git フロー - 中央リポジトリへのプッシュ
Git ハブにリポジトリをセットアップし、git フローを使用しています。機能、リリース、およびホットフィックスの作成方法は知っていますが、これまで読んだ限りでは、中央リポジトリ (github) にプッシュする方法が明確ではないように思われるため、いくつか質問があります。
- 機能が完成して実行
git flow feature finish
したら、これをどのように github にプッシュしますか? - Github にプッシュされたら、Github からプルする必要がありますか、それとも中央リポジトリに触れず、他の開発者/サーバーがそこからプルできるように単純に使用する必要がありますか?
- 開発者は git フローを使用して中央リポジトリからどのようにプルしますか?
ありがとう
git - Githubデプロイメントを使用したGitフロー
私は他の4人の開発者のチームに所属しており、GITを学び、中央リポジトリとしてgitflowモデルとgithubを使用しています。これまで、githubに中央リポジトリを作成しました。機能を作成し、それらを中央リポジトリにプッシュして、そこからプルして相互に変更を加えることができます。
すべての開発者はローカルマシンで作業しますが、開発、ステージング、本番の3つのサーバーをセットアップしています。
開発とは、誰もがお互いの変化を見ることができる場所であり、満足したらステージングに移行します。ここで、最終的にWebサイトを本番環境で公開する前に、すべてが正常であることを確認するためのテストが行われます。
Webサイトは現在完成しており、開発サーバーにリポジトリのクローンを作成し、すべてのWebサイトファイルをプルして、そこですべての変更を確認できるようにしました。ただし、現在、ステージングに展開し、最終的に本番環境に展開する必要があるかどうかはわかりません。
- 最初にローカルでリリースブランチを作成し、中央リポジトリにプッシュしますか?
- ステージングサーバーと本番サーバーに中央リポジトリのクローンを作成しますか?
- もしそうなら、私たちは彼の中央リポジトリからプルしますか、それとも本番サーバーでGITを使用するべきではありませんか?フックだけでなくrsyncの使用についても読んだことがありますか?!
誰かが次のステップを説明してくれるか、それを説明している場所を教えてください。それは本当に役に立ちます。
ありがとう
git - stash を使用した git rebase は、重複したコミットの可能性を示します
私はgitフロー、および「dev」と「branches」でgitを使用しています。私はdevでbaaedされた機能に取り組み、devでいくつかのコミットを行いました。今、私は自分の機能を dev HEAD にリベースしたいと考えています。Rebase は完全に機能しますが、自分の機能にも変更を隠しています。gitk を実行すると、すべて問題ないように見えますが、ビューで「すべての参照」にチェックマークを付けると、フィーチャー ブランチが 2 回表示されます。スタッシュなしでは表示されないため、スタッシュと関係があると思います。
リベース前:
リベース後
stash でリベースした後
実際の問題: これらのコミットは本当に重複していますか? もしそうなら、私はそれについて何ができますか?
git - gitフロー機能の終了を元に戻す方法は?
私はgit-flowを学んでいてgit flow feature finish <feature-name>
、それを開発して削除するために機能ブランチをマージしました。
これの代わりに、機能ブランチをgithubにプッシュして、ピアレビュー後にマージできるようにします。
したがって、問題は、このコマンドを「元に戻す」にはどうすればよいかということです。つまり、最後の2つのコミットを開発から機能ブランチに移動するにはどうすればよいですか?