クローン、プッシュ、プル
Origin は現在、Early Beta 段階で提供されています。リポジトリの作成、git によるプッシュとプル、GitHub からのミラーリング、コードのブラウズと検索、プルリクエストのオープンとマージ、Cherri Code チームとの共有が可能です。
製品改善に役立てるため、あらゆるフィードバックを[email protected]からお送りください。
Origin は標準的な Git と連携します。cursor.com/codebase でリポジトリを開き、緑色の コード ドロップダウンを選択して、クローン URL をコピーします。
HTTPS でクローンする
コードメニューには、HTTPS タブがあります。
https://origin.cursor.com/{owner}/{repo}.git例:
git clone https://origin.cursor.com/acme/checkout.gitOrigin CLI でクローンする
同じメニューには、CLI 向けのセットアップ用 Origin CLI タブがあります。まずインストールしてサインインしてください。
curl -fsSL https://downloads.cursor.com/origin/install.sh | shorigin auth loginOrigin CLI のインストールを参照してください。
認証
まだサインインしていない場合は、最初の git 操作の前に Origin CLI でサインインしてください。
origin auth loginその後、Git でクローン、フェッチ、プル、プッシュを行います。
既存のリポジトリにリモートを追加する
git remote add origin https://origin.cursor.com/{owner}/{repo}.gitgit push -u origin main評価中にGitHubとOriginを並行して使用するには:
git remote set-url --add --push origin https://github.com/acme/checkout.gitgit remote set-url --add --push origin https://origin.cursor.com/acme/checkout.gitGitHub から Origin に履歴全体をコピーするには、ミラーリングを使用してください。
GitHub からミラーリングされたリポジトリ
GitHub からミラーリングされたリポジトリでは、同じ HTTPS クローン URL を使用します。
https://origin.cursor.com/{owner}/{repo}.gitGitHub が信頼できる情報源です。このリモートへの git push は GitHub に送られます。GitHub がプッシュを受け入れると、Origin が更新されます。
GitHub が利用できない場合は、origin/* ブランチと origin push local を使って Origin のコピー上で作業を続けてください。すでに同期済みのリポジトリの読み取りは、同じ HTTPS クローン URL 経由で引き続き利用できる場合があります。Git LFS の batch はフェイルオーバーしません。GitHub が停止している間にサポートされる書き込みパスは /local です。
ミラーリポジトリ上の forge-local ブランチ
ミラーリポジトリでは、origin/* ブランチは Origin のコピー上にある自分の workspace です。GitHub が利用できないときに作業を続けたい場合や、Origin にのみ残しておきたい git の状態がある場合に使用してください。これらのリファレンスは Origin 上に留まり、GitHub から同期されることも、GitHub へ同期されることもありません。
Origin は、origin または origin/... という名前の GitHub ブランチを同期しません。これは意図的な仕様であり、同名の GitHub ブランチが origin push local でプッシュした内容を上書きしないようにするためです。GitHub の Pull Requests にする予定の Feature branch には、通常どおり git push origin を使用します。
origin push local
origin push local はそうした Origin 専用のブランチを書き込みます。git push origin の代替ではありません。
git push origin <branch> はクローン URL を使用し、inbound ミラーでは GitHub に反映されます。一方、origin push local は次の処理を行います:
- チェックアウトの
originリモートが inbound ミラーリングされた Origin リポジトリであることを確認する https://origin.cursor.com/{owner}/{repo}.git/localを指すorigin-localという名前の git remote を作成または更新する- そのリモートの フェッチ および push の refspec を
refs/heads/origin/*に限定する - ローカルの
origin/*ブランチをすべて/localにプッシュする
Origin は名前を書き換えません。origin/my-state は refs/heads/origin/my-state として保存されます。
git branch origin/my-state HEADorigin push local初回実行後、git remote -v には次が含まれます:
origin-local https://origin.cursor.com/{owner}/{repo}.git/local (fetch)origin-local https://origin.cursor.com/{owner}/{repo}.git/local (push)git push origin-local と git fetch origin-local は同じスコープ付き refspec を使用します。origin push local --dry-run は、実際に送信せずにプッシュ内容を表示します。--remote <name> で別のリモート名を指定できます。--remote origin や --remote github は指定しないでください。これらのリモートは GitHub をバックエンドとする upstream のままです。
origin リモートは、あらかじめ Origin を指している必要があります:
https://origin.cursor.com/{owner}/{repo}.git/local は inbound ミラーにのみ存在します。Origin 上で直接作成したリポジトリでは、任意のブランチを origin にプッシュしてください。
/local はリポジトリごとに有効化します。git がリポジトリを見つけられないと報告する場合、そのリポジトリではまだ endpoint が有効になっていません。リファレンス ごとの remote rejected メッセージは、origin/ 以外の リファレンス を server が拒否したことを示します。
origin/ で始まるブランチ名
マッチングの対象は origin/ の後ろのパスセグメントです。origin そのものという名前のブランチは予約されており、/local にプッシュできません。original/backup のような名前も、この namespace の対象外です。
inbound ミラーでの挙動は次のとおりです:
/localへのプッシュ。 受け付けられるのはorigin/<name>のリファレンスのみです。それ以外はすべて拒否され、その リファレンス を上流のリモートへプッシュするよう促すメッセージが表示されます。- GitHub からのフェッチ。 inbound の同期では
originとorigin/*はスキップされます。これは意図的な挙動で、その名前の GitHub ブランチがorigin push localでプッシュした内容を上書きしないようにするためです。 - クローン URL へのプッシュ。
git push origin origin/my-stateは引き続きorigin/my-stateを GitHub に送信します。ただし Origin は次回の同期でその GitHub ブランチをインポートしません。 - プルリクエスト。 ミラーリポジトリ上の cloud agents は、GitHub にプッシュした通常のブランチから GitHub の Pull Requests を作成します。
origin/*ブランチは GitHub 上に存在しないため、GitHub プルリクエストの head にはできません。
git 自体も remote-tracking リファレンス に origin/ を使用します。origin/main は origin リモート上のブランチ main を指します。remote-tracking ブランチを誤って check out しないよう、ローカルブランチは明示的に名前を指定して作成してください(git branch origin/my-state HEAD または git switch -c origin/my-state)。
GitHub が利用できないとき、または git の状態を Origin のコピーだけに留めておきたいときです。origin/... ブランチを作成し、origin push local を実行してください。GitHub 側で扱いたい作業(プルリクエストを含む)には git push origin を実行してください。
いいえ。Origin 上のブランチ名はローカル名と同じです。git fetch origin-local はそれらを origin-local/origin/<name> として追跡しますが、これは git が remote-tracking リファレンス をそのように命名するためであり、Origin が prefix を取り除いたり書き換えたりしているわけではありません。
Origin はインポートしません。同期では origin または origin/... という名前の GitHub ブランチはスキップされるため、origin push local でプッシュした内容が上書きされることはありません。
最新の変更をプル
git pull origin mainトラブルシューティング
クローン または プッシュ に失敗する場合は、origin auth login でログイン済みであることを確認してください。Origin CLI のインストールを参照してください。
インストール後にシェルで command not found: origin と表示される場合は、~/.local/bin を PATH に追加してください (zsh の場合:~/.zshrc に export PATH="$HOME/.local/bin:$PATH" を追記し、source ~/.zshrc を実行します) 。詳細は CLI ページを参照してください。