マージを実行せずにトランクからブランチを更新できますか?
質問
私はおそらくこれを考えていなかったかもしれませんし、おそらく私は単に既存の転覆のオプションに気づいていません(私は確かに専門家ではありません)。
ブランチを最新の状態に保つ簡単な方法がある場合は、いくつかの新しい機能の作業を開始するためにブランチを作成した場合、私はただ疑問に思っています。 トランクさまざまな改訂を統合するというすべての問題を経験することなく、最近の最新の改訂。トランクからすべてのリビジョンを単純に更新して取得できるようにしたいと思います(と もちろん、ブランチ)、私の献身的な変更はブランチにのみ影響します。これは可能ですか?私が求めていることは理にかなっていますか?
これは、さまざまな改訂を統合することと必ずしも違いはないと思います。マージを許可する前にこれらすべてのベストプラクティスチェックを実行するANKHSVNを使用しているだけでなく、必要よりもはるかに複雑だと感じることもあります。アイデアは、他の開発者がトランクを作っている可能性があるため、最新のものと一緒にブランチを最新の状態に保ちたいということです。 行う 枝をトランクにマージすると、すべてが(可能な限り)(可能な限り)(可能な限り)(可能な限り)(AS)になります。
解決
最新のトランクチェックインを使用してブランチを維持することは、マージと呼ばれます。
マージは時々王室の悪夢になる可能性があることを知っていますが、これはまさに合併です。
他のヒント
tl; dr;いいえ、マージする必要があります。ここにいくつかの指示があります
それはあなたが思うほど悪くはありません。使用するコマンドラインからの手順の概要を説明します。私はVimidiffを使用して、あなたが好きなMeldまたはSomeother Diffツールを使用できる競合を管理します。コマンドの前にハッシュ '#'マークが付いています
<in branch first time from copy>
# svn log --stop-on-copy | tail
<read the revision that was the copy instruction in this case r229>
# cd ../../trunk
# svn up
<I make note of the latest rivision which is r334>
<now I go back to the branch>
# cd ../branches/branch
# svn merge -r229:334 svn://url.to.svn.server/project/trunk
<a whole bunch of stuff happens>
< now I check for conflicts >
# svn status | grep ^C
<which outputs something like>
C public/tools/Diagnostic.class.php
C public/domain/Report_Setup_Parameter.class.php
C public/modules/mReports.module.php
<I now revert all these and manually merge them>
# svn revert public/tools/Diagnostic.class.php
...
<revert done now manuall doinng the merge
# vimdiff public/tools/Diagnostic.class.php ../../trunk/public/tools/Diagnostic.class.php
...
<now all the changes are done>
# svn commit -m "Merging trunk into branch 'branch' r:229:334"
commited revision 335
完了です、あなたがそれを規定していれば、多くの変更はありません。最初のマージの後、最後のマージのリビジョン#を使用する必要があります。したがって、将来的には、コマンドがSVNログを見て、最後のマージの改訂がいつであったかを確認します。この場合は335。
# svn merge -r335:370 svn://url.to.svn.server/project/trunk
他のすべての手順は同じです。
アイデアは、他の開発者がトランクを作っている可能性があるため、最新の状態に保ちたいという考えです。最終的にトランクに枝をマージすると、すべてが(可能な限り)(可能な限り)(可能な限り)(可能な限り)、
それを達成するには、トランクからのレンジレビジョンのマージを行う必要があります。実際、トランクで何が起こっているのかを最新にするために、この種のブランチと時々マージすることをお勧めします。
AnkHSVNのツールについては知りませんが、「純粋な」SVNには、マージ操作を非常にシンプルにする非常に優れたツールがあります。 Tortoisesvn Windowsに最適なツールであり、あなたが好きなら netbeans マージには非常に素晴らしいグラフィカルなサポートもあります。
私はankhsvnに精通していませんが、あなたが説明しているのはまさに何ですか svn merge
のためです。したがって、あなたの質問に対する答えはノーです。
ただし、チェックアウトする場合があります --reintegrate
それがあなたの人生を楽にするかどうかを確認するオプション。
これらのブログ投稿を参照してください:
phpstormを使用している場合は、GUIインターフェイスを使用してみてくださいhttps://www.jetbrains.com/help/idea/2016.1/integrating-changes-to-from-feature-branches.html