9

やった:

git p4 clone //depot/path/to/project/trunk/@all project

masterのブランチを作成しますproject。今、私はのブランチにクローン//depot/path/to/project/releaseしたいと思っています。それはどのように行われますか?releaseproject

更新: を使用--detect-branchesしても機能しません。2 つのブランチを更新していると報告されますが (実際には 3 つのブランチがある場合)、git branchmaster のみが存在すると報告されます。

4

4 に答える 4

10

これは、git-p4 を使用していたときのセットアップ ノートです。役に立つかもしれません:

  • p4 Linux クライアントをダウンロードします。ファイルを~/binまたは/usr/local/binに保存します。chmod +x

  • root として git-p4 をセットアップします。

    chmod 755 /usr/share/doc/git/contrib/fast-import/git-p4
    ln -s /usr/share/doc/git/contrib/fast-import/git-p4 /usr/local/bin
    
  • git-p4 の Git グローバルを定義する

    git config --global alias.p4 '!git-p4'
    git config --global git-p4.detectRenames true
    git config --global git-p4.detectCopies true
    
  • 直接「p4」を使用するためのセット定義

    export P4PORT=SERVER_NAME:PORT_NUMBER
    
  • ログイン資格情報の設定

    export P4USER=USER_NAME
    export P4PASSWD=PASSWORD
    
  • P4 'client' を使用して Perforce ブランチを選択します

    'p4 client' コマンドを実行し、必要なパス/ブランチのみを追加します。クライアント ワークスペースに名前を付けたい場合は、オプションの CLIENT_NAME 引数をコマンドの最後に追加できます。これにより、同じマシンで異なるクライアント定義を使用できます。

    $ p4 client [CLIENT_NAME]
    
    View:
    //depot/main... //CLIENT_NAME/main...
    //depot/patch... //CLIENT_NAME/patch...
    //depot/dev... //CLIENT_NAME/dev...
    
  • リポジトリをクローンする

    • 簡易インポート

      git p4 clone --use-client-spec --detect-branches //depot@all GIT_DIR
      
    • 高度なインポート

      git init PROJ; cd PROJ/
      git config git-p4.branchList main:patch
      git config --add git-p4.branchList main:dev
      git p4 clone --use-client-spec //depot@all .
      
  • 変更を Perforce に送信する

    Perforce に変更を送信するには、git 作業ツリーとは別のクライアント ワークスペースが必要です。ワークスペースは、Perforce git 作業ディレクトリと同じファイル システム上にあることをお勧めします。

    さらに、ワークスペース パスへの参照が Perforce サーバーに保存され、p4 submitコマンド中に使用されます。

    最初のステップは、ローカル クライアント ワークスペースを作成することです。CLIENT_NAMEオプションの引数です。定義しない場合、p4 はホスト名を使用します。

    p4 client [CLIENT_NAME]
    

    p4 コマンドを完了する前に、ファイル エディターに移動します。これにより、クライアント設定をサーバーに送信する前に変更できます。Root値を git ツリーの外部にある新しいディレクトリ (例: ../p4-working) に変更する必要があります。また、終了する前にOwnerとのClient 値を確認してください。これらの値は環境から取得されており、エディターで変更することはできません。

    p4 clients | grep USERNAME
    

    デフォルトのクライアント名を使用しなかった場合は、ローカルの git 構成で定義する必要があります。

    git config git-p4.client CLIENT_NAME
    

    コードの変更をプッシュする準備ができたら、次のコマンドを使用します。

    git p4 rebase
    git p4 submit
    

    使用しなくなったクライアントをサーバーから削除できます。

    p4 client -d CLIENT_NAME
    
于 2013-03-15T20:00:34.603 に答える
0

「ブランチの検出」は、デポ内のブランチ パスと同じ名前のブランチ マッピングを持っていることに依存していると思います。そうでない場合は、git-p4 clone コマンドを実行する前に、空の git リポジトリで構成値を定義するという推奨される方法を使用する必要があります。git-p4.branchList

于 2013-03-09T07:51:39.510 に答える