TL; DR、私は私たちのUATブランチにdeveloper1(CODE1、CODE2と私-js.js)によって行われた変更を触れることなく(CODE3とcode4に行われた、すなわち変更)ちょうど私が行った変更をプッシュすることができます特定のコミットを選んで別のブランチにプッシュするには?
?
私の状況は一例で説明することをお勧めします。
開発者は通常、7つのファイルを含むdevブランチで動作します。
code1.php
code2.php
code3.php
code4.php
code5.php
my-js.js
my-css.css
プロジェクトには3人の開発者がいます。
developer1 = able to push new branches but not able to merge into any branch
developer2 = same access as developer1
developer3 = me. I have admin access to the repository. If developer1 and 2 needs to merge changes to the dev branch, they send it my way for approval
新しい問題が発生し、これが開発者1に割り当てられました。 Developer1 gitは、最新のコードを取得するためにリモートのdevブランチを引っ張った。そして彼は "jira-ticket1"と呼ばれる新しい地方支店を作り、ファイルcode1とcode2に変更を加えました。彼もmy-js.jsに変更を加えました
もう1つの問題が発生しました(jira-ticket2)これがdeveloper2に割り当てられました。彼はまた、リモートdevのブランチを引っ張って、 "jira-ticket2"という新しいローカルブランチを作成し、code5に変更を加えました。
今日の終わりに、developer1だけが終了しました。彼は自分の新しいブランチを私たちのリモートリポジトリにプッシュし、承認されるプルリクエストを作成しました。受け取って5分後にプルリクエストを承認しました。
午前中に何か緊急(jira-ticket3)が現れ、これが私に割り当てられました。このチケットでは、コード3とコード4を変更する必要があります。私も仕事を始める前にgit pullをやったので(develop1が行った変更を拾い上げる)。私はまた、新しい支店を作って、それが完了したら私の変更をプッシュして承認しました。
問題の緊急性のため、テスターは私の変更をテストすることができましたし、彼は私たちのUAT支店
に行くためにそれを承認したので今、私の質問
は、私たちにプッシュすることができますUATブランチは、私が行った変更(つまり、コード3とコード4の変更)を、開発者1の変更に触れずに行うだけですか?
私のローカルリポジトリに通常表示されるブランチは、devと私自身のブランチだけです。
ps。私はいくつかの "似たような"質問を読んだが、これが自分の状況に当てはまるかどうかは不明だ。
あなたはこれのdr;バージョンを作ることができますか?具体的なコミットを選択したい場合は、その答えがあります –
私たちがこれを処理する一般的な方法は、後でマージされるチケットブランチです。これは良い解決策ではありませんか?コミット前に分岐する。 – kabanus
@ Mr.Alienがやった。ありがとう! – mrjayviper