問題タブ [git-p4]
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-p4 は perforce の「メイン」ブランチをサブディレクトリとして git ブランチに移行します (git ブランチのコードが 2 倍になります)
状況
1 つの「メイン」ブランチと 2 つのブランチを perforce から git に移行しようとしています。perforce でブランチを仕様にマッピングした後、典型的な移行を試みましたが、コード ディレクトリの重複の問題が発生しました。
問題
"git p4" (クローンまたは同期) を実行すると、マスター ブランチ コードの複製がブランチに含まれ、ブランチ コードはマスターの次のディレクトリに配置されます。git ステージング領域にはブランチ コードのみが表示されると思います。
設定
移行の試み
これがどのように進んだかです...
結果
MAINT_01 とモバイル ディレクトリにはすべて正しい履歴がありますが、このレベルではモバイルのコンテンツのみが表示されることに注意してください。
期待
モバイル ブランチ ブランチには、MAINT_01 ディレクトリを含めないでください。モバイルは MAINT_01 のブランチです。これはおそらく本当に単純なものですが、私はそれを見ていません。さらに、マスターをチェックアウトすると、ルートとして MAINT_01 だけが含まれます。MAINT_01 の内容は、ブランチのルートである必要があります。
ここで助けていただければ幸いです。
git - PERFORCEリポジトリの途中からgit-p4クローンを作成するにはどうすればよいですか?
リポジトリの後半のクローンを作成したいと思います。次のコマンドを使用して正しく機能します。
だから私は以下のようなものを実行したいのですが、それは同じ方法でファイルをインポートせず、最終的に失敗します:
2番目の方法を正しく機能させるにはどうすればよいですか?
更新:私が今得ている出力は、p4が無限ループでスタックすることです:
git - gitp4デポパスエラー
git-p4を使用してPERFORCEでgitを設定する際に問題が発生しました。この優れたブログ投稿( http://owenou.com/2011/03/23/git-up-perforce-with-git-p4.html )のすべての手順を完了した後、新しいファイルを追加したり、既存のファイルを変更したりします。ローカルのgitリポジトリにあるファイル。
リベースしようとすると、次のようになります。
変更をgitにコミットし、変更を
git p4 submit --verbose
p4リポジトリにプッシュするように実行した後、65534行の出力が得られます。
言うまでもなく、変更はp4リポジトリにプッシュされません。
git - git を移行してインポートを実行する
git から perforce への移行に問題があります。
私の状況: ある perforce サーバーから自分の perforce サーバーに移動したいと考えています。Perforce ユーザーが許可されているデポにしかアクセスできません。
だから私は git-p4 を試して、すべての履歴を含む perforce デポをエクスポートしました。これはうまくいきました.gitリポジトリにデータがあります。
しかし今、新しい perforce サーバーでこの git リポジトリ (すべての履歴を含む) を取得しようとしていますが、これを行う方法がわかりません。P4コンフィグ(P4PORT,P4USER)を
誰か助けてくれませんか?
git - 既存の Git リポジトリを Perforce と統合する (P4)
Web を閲覧しましたが、答えが見つかりません。私がやろうとしていることは次のとおりです。
- 多くのコミットで1年以上使用されているgitリポジトリがあります
- 製品化のため、コードを P4 担当者に移動する必要があります。
- ただし、コードベース (トランスポート後) は P4 と同様に git で変更される可能性があります
ここで、git の参照ブランチがmasterであると仮定しましょう
私がしたことは次のとおりです。
- 最新のコードを git から P4 にコピーし、そこに送信します
- git-p4 sync --branch=refs/remotes/p4/masterp4 //../ を使用して、既存のリポジトリに新しいブランチを作成します
- マスターをmasterp4にgit マージ
- 共通のコミットがないため機能しません
- さらに、git-p4 submit はとにかくマージ コミットを操作できません。
別のオプションはリベースでした
- P4 の空のリポジトリから開始する
- git-p4 sync を使用して、git に空のmasterp4ブランチを作成します
- マスターをmasterp4にリベースする
- masterp4をremote/p4/masterにリベースします
- 何千もの p4 チェンジリストにつながります。
主な問題は、マスター ブランチとこの masterp4 ブランチの間のリンクが壊れていることです。とにかくもっと簡単な解決策がないのではないかと思いました。残念ながら、私は git n00b です。
アイデアをありがとう、
フィリップ
git - git-p4 を使用して変更を延期する方法
最新の git-p4 スクリプト ( https://github.com/ermshiperete/git-p4 ) には「保留」コマンドがありますが、「保留解除」コマンドはありません。それを使用して変更を保留解除するにはどうすればよいですか?
git - intellij コミュニティ エディションの p4-git ブリッジ
Intellij のコミュニティ版を持っています。ただし、バージョン管理システムはほとんどサポートされていませんが、私の会社では perforce を使用しています。
手動でチェックアウトせずにバージョン管理を実現する方法はありますか? そして、いくつかのコマンドを起動して、p4 に送信します。
基本的には、ローカルの git リポジトリを使用することを考えています。p4-git
そして、私の変更を送信するためのある種のプラグイン。助言がありますか?
git-p4 - git-p4でブランチをクローンするには?
やった:
master
のブランチを作成しますproject
。今、私はのブランチにクローン//depot/path/to/project/release
したいと思っています。それはどのように行われますか?release
project
更新: を使用--detect-branches
しても機能しません。2 つのブランチを更新していると報告されますが (実際には 3 つのブランチがある場合)、git branch
master のみが存在すると報告されます。
git - 裸のリポジトリで git p4 submit を実行するには?
TLDR
git p4 submit
裸のレポでどのように実行しますか? それはどのコマンドラインオプションgit p4 submit
ですか?
長い話
perforce を使用している社内のチームを git に移行したいと考えています。それを実現するために Git-P4 を使用したいと考えています。perforce のセクションを git レポジトリに複製し、それをリモート リポジトリにして、人々がそれを複製し、変更をリモート リポジトリにプッシュし、リモート リポジトリで行われた変更を定期的に perforce に再送信するようにしたいと考えています。 . だから私はこのチュートリアルに従った
http://answers.perforce.com/articles/KB_Article/Git-P4
これは、次のコマンドに要約されます。
それはうまくいきます、そして私のクライアントマシンで私はします
それで問題なく表示されるので、テストファイルを編集してから、
それは機能しますが、レポのあるフォルダーにあるリモートレポに戻ります。
そして私はこれを得る
と
私にこれを与える:
問題は、送信時に git リポジトリをベア リポジトリにできないことです。作業ディレクトリを持つ通常のリポジトリにする必要があります。しかし、そうであれば、なぜ私に--bare
オプションを与えるのでしょうか? オプションを実行している理由--bare
は、それを省略したときに、リモート リポジトリの作業コピーでコミットされていない変更に関する別のエラー セットが発生したためです。しかし、エラーなしで git p4 を送信するにはどうすればよいですか?
git - git リポジトリの作業コピーを .git のリポジトリの実際の内容に置き換えますか?
TLDR
作業コピーの内容を実際に .git サブフォルダーのリポジトリにあるものにする git コマンドは何ですか? (変更が別のマシンから作業コピーを持つリモート リポジトリにプッシュされた場合)
長い話
perforce を使用している社内のチームを git に移行したいと考えています。それを実現するために Git-P4 を使用したいと考えています。perforce のセクションを git レポジトリに複製し、それをリモート レポにして、人々がそれを複製し、変更をリモート レポにプッシュして、リモート レポで行われた変更を定期的に perforce に再送信できるようにしたい. だから私はこのチュートリアルに従った
http://answers.perforce.com/articles/KB_Article/Git-P4
これは、次のコマンドに要約されます。
それはうまくいきます、そして私のクライアントマシンで私はします
それで問題なく表示されるので、テストファイルを編集してから、
リモートリポジトリにプッシュバックしようとすると、クライアントでこのエラーが発生します
ここで説明されている
Git で receive.denyCurrentBranch を使用すると、どのような影響がありますか?
それで、私は設定しました
もう一度試してみると、 git push が機能しました。しかし、今回はリモートリポジトリに戻り、動作しますが、git status を実行しようとすると何か違うことを訴えます
これは、リモート リポジトリの作業コピーがリモート リポジトリにプッシュされたものと同じではないためです。git p4 submit と git p4 rebase work は、これらのコミットされていない変更についても文句を言います
これは、時間が経つにつれて大きな問題になるもののようです。その状態で作業コピーをリモートリポジトリに永久に残したくありません。
そのため、.git フォルダー内の実際のリポジトリのインデックスで作業リポジトリの内容を強制的に上書きする方法を理解する必要があります。
今、私はこれを見つけました
Git でステージングされていない変更を破棄するにはどうすればよいですか?
これを行うと言った
またはこれを行う
そして、どちらも機能しませんでした。それらは機能しているように見えましたが、追加されたファイルはまだ存在せず、git ステータスは、作業コピーとインデックスの違いによって引き起こされたステージングされていない変更を示していました。
では、実際にリポジトリにあるものの内容を作業コピーに反映させるにはどうすればよいでしょうか?