問題タブ [git-svn]
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 SVNは時々何もフェッチしません
以下の svn ブランチが .git/config ファイルに追加されました。
ただし、以下のコマンドを使用してフェッチできるのは「svnb03」のみです。
「svnb02」の場合、以下のコマンドは何もフェッチせずに静かに戻ります。
どんなコメドも大歓迎です。
svn - git-svn 使用時の競合の回避
次のシナリオで共有 git リポジトリからプルしているときに、コードの競合が繰り返されることに直面しています。
共通のsvnリポジトリがあります
git-svn ブリッジを使用して、この共通の svn リポジトリを独自のローカル git リポジトリと追跡/同期する開発者が何人かいます (git svn rebase/dcommit 経由)。
時々、git を使用するこれらの開発者は、svn リポジトリに影響を与えずに変更を共有する必要があります。この目的のために、共有 git リポジトリをセットアップし、プル/プッシュ コマンドを使用して作業を交換します。
これらの開発者は、メインの svn リポジトリとの同期に「git svn rebase」を使用しているため、競合の問題に直面する可能性があることが判明しました。これは、リベース操作によってローカル git ブランチの履歴が書き換えられ、共有 git リポジトリにプッシュできなくなり、そこからプルすると競合が発生することが多いために発生します。
同じ問題を抱えている人はいますか?
svn - Git-Svn を使用した非標準 Svn リポジトリのクローン作成
私は Git に比較的慣れていませんが、自宅で作業するのがとても簡単であることがわかったので、プロジェクトが Svn リポジトリに保存されている職場で使用したいと考えています。残念ながら、レポジトリは少し標準的ではないため、クローンを作成するのに苦労しています。確かに、それらにはすべてトランク、ブランチ/、タグ/がありますが、ブランチ/とタグ/には実際のプロジェクトディレクトリに到達する前にサブディレクトリがあります:
クローニング後:
実際のプロジェクト ブランチやタグは取得できません。実際には、トランク、1 つのメンテナンス ブランチ、1 つの開発ブランチで作業できる必要があります。構成を変更する際のいくつかのハックに加えて、このアプローチを試しましたが、何も機能していません。
非標準の Svn プロジェクトの主要なコンポーネントをローカルの git リポジトリに取得して、それらの間を簡単に移動できるようにする方法はありますか?
どうもありがとう。
更新: Git への大規模な切り替えは (まだ) できないことを付け加えておきます。他のチームメンバーが関与しており、国際的な存在感があります。移行のロジスティクスは、Git に慣れるまで、私が喜んで引き受ける以上のものです。私が言ったように、私はまだかなり新しいです。私はその機能の表面をかろうじてかじったにすぎません。
git - 「svn update -r」に相当するgitは何ですか?
私は最近の git convert です。svn サーバーを妨害することなく、git-svn を使用してブランチをローカルに保持できるのは素晴らしいことです。コードの最新バージョンに存在するバグがありました。git bisect を使用できるように、それが機能する時間を確立したかったのです。時間を戻すための適切なコマンドが見つかりませんでした。ありがとう。
git - git-svn の使用: プル、マージ、またはリベース?
私は git/git-svn の学習曲線と戦ってきましたが、昨夜、その学習曲線の一部として、非常に悪いことをしました。その後、修正しましたが、エラーを自分のやり方で理解したいと思っています。
トランクとブランチのクローンを作成したsvnリポジトリがあります(タグは扱っていないため無視しました)。git を使用して、現在作業する必要があるブランチごとにローカル ブランチを作成しました。
私は feature1 をアクティブなブランチにし、数日間引き離される前にいくつかの変更を加えました。昨日、トランクに加えられた変更を統合して、最新かつ最高のものを使用できるようにしたいと考えていました。私が行ったのは、最初にgit svn rebaseを介してすべてのブランチを完全に更新することでした(feature1 ブランチでは誰も作業していませんでした)。私の svn リポジトリからすべてを最新の状態にして、リベースを試みました。
アクティブなブランチとして feature1 を使用して、トランクからの変更をfeature1 ブランチにプルすることを考えて、「git rebase トランク」を実行しました。私は非常に、非常に間違っていたことが判明しました。すべての競合をマージした後、git svn dcommitを実行したところ、トランクに変更が適用されていることがわかりました。
私の最初の質問は、私の思考プロセスのどこに核心的な誤りがあったかということです。2 つ目は、よく読んでグーグルで調べた結果、人々がプル、マージ、リベースを支持しているのを目にすることです。あるローカル ブランチに適用された変更を別のローカル ブランチにマージしたい場合、どうすればよいでしょうか? このシナリオのベスト プラクティスは何ですか?
ご協力いただきありがとうございます。
svn - Git-Svn は Svn パスワードを保存しますか?
私はいくつかの作業プロジェクトで git-svn を使用していますが、ほぼすべてのアクションで Svn パスワードの入力を求められることに気付きました。一部のアクションでは、複数回プロンプトが表示されます (おそらく、バックグラウンドでいくつかのアクションが実行されています)。たとえば、リポジトリのクローンを作成する場合、クローン作成が実際に開始されるまでに 5 回プロンプトが表示されます。
私が Svn を直接使用しているプロジェクトでは、これは行われません。これは期待されていますか?資格情報をキャッシュするためにできることはありますか?
ありがとう。
git - 単一の作業ディレクトリで 2 つの SVN プロジェクトと対応する git-svn ブランチを使用するにはどうすればよいですか?
私は Git に比較的慣れていませんが、試してみたいと思います (vs SVN と Bazaar)。
次のような状況のワークフローを誰かに勧めてもらえますか:
- 複数のプロジェクトを含む 1 つの SVN リポジトリ
- 1つの作業コピー「src」
アイデアは、「src」でプロジェクトAまたはプロジェクトBをチェックアウトする必要があるということです。両方のプロジェクトにはいくつかのブランチがあります。
今のところ、各プロジェクトに 1 つずつ、SVN リポジトリの 2 つの git クローンを作成しました。(私は --bare repos を好みましたが、それは動作しませんgit svn clone
)
次に、「src」に git リポジトリを作成し、git remote add projA ..a_repo_git
「git remote add projB ..b_repo_git
.
これで、「git remote」を使用して「src」から両方を見ることができ、「git remote show projA」でそれらのブランチを見ることができます
そして今、トラブル..
- projA/projB のいずれかのブランチを「src」に入れるにはどうすればよいですか?
- それらを変更してから、それらをプッシュバックできるようにするにはどうすればよいですか (最初に git_repos に、または直接 SVN リポジトリに)。
- この「ワークフロー」は大丈夫ですか、それとももっと良いアイデアがありますか?
私は src:git checkout --track -b work_branch projA branch_in_A
で試しましたが、「フェッチ」をいじった後、何とか取得できました。しかし、その後、それを に戻しa_repo_git
、次に SVN に戻すのに問題がありました。ほとんど試行錯誤でした。
認めざるを得ませんが、リモート ブランチにはまだ問題があります。origin local_branch:origin_branch
(そして、" " または " origin origin_branch:local_branch
"、または " origin origin_branch
" または" "を使用しなければならないときに迷子になりますorigin/origin_branch
! もう少し読むために Git マニュアルに戻ります。)
git - git-svn を git のようにすることはできますか?
git svn
のように動作するように設定することは可能ですか (または望ましい?!) git
? たとえば、書く代わりに
なんで書けないの
同様に、代わりに
なぜだけではない
git - Git Svn dcommit エラー - コミットをやり直してください
先週、週末に町を出る前に、地元の支店に多くの変更を加えました。今朝、会社の Svn リポジトリにこれらの変更をすべてコミットしたかったのですが、1 つのファイルでマージの競合が発生しました。
コミット中のマージの競合: ファイルまたはディレクトリ 'build.properties.sample' が古くなっている可能性があります: バージョン リソースがトランザクション内のリソースに対応していません。要求されたバージョン リソースが古くなっている (更新する必要がある) か、要求されたバージョン リソースがトランザクション ルートよりも新しい (コミットを再開する) かのいずれかです。
なぜこれが発生するのか正確にはわかりませんが、dcommit を試みる前にgit svn rebaseを実行しました。それは私のコミットを「上書き」しました。そこから回復するために、git reset --hard HEAD@{1}を実行しました。現在、作業コピーは期待どおりの場所にあるようですが、マージの競合を回避する方法がわかりません。私が見つけることができる解決すべき競合は実際にはありません。
任意の考えをいただければ幸いです。
編集:私がローカルで作業していることを指定したかっただけです。svn/trunk (リモート ブランチ) を参照するトランク用のローカル ブランチがあります。私の作業はすべてローカル トランクで行われました。
同様に、git logは現在、Svn ID を使用した最後のコミット以降、私のローカル トランクで 10 件のコミットを示しています。
うまくいけば、いくつかの質問に答えます。
再度、感謝します。