Novita Sandbox は、clone、branch の作成、commit、pull、push、remote の管理、Git の設定など、一般的なリポジトリワークフロー向けの sandbox.git ヘルパーを提供します。
認証と identity
インライン認証情報
プライベート HTTPS リポジトリでは、push、pull、clone などの操作に、ユーザー名とパスワード/token の両方を直接渡します。
Git credential helper で一度だけ認証する
JavaScript では dangerouslyAuthenticate()、Python では dangerously_authenticate() を使用して、sandbox の credential helper 内に認証情報を保存できます。
認証情報は sandbox 内のディスクに書き込まれ、sandbox へのアクセス権を持つものは誰でも読み取ることができます。
認証情報は、デフォルトで GitHub 用に保存することも、カスタム HTTPS ホスト用に保存することもできます。
remote URL に認証情報を保持する
デフォルトでは、clone 後に認証情報は remote URL から削除されます。.git/config に保持するには、dangerouslyStoreCredentials: true(JS)または dangerously_store_credentials=True(Python)を設定します。
remote URL に保持された認証情報は repo config に残り、sandbox プロセスから読み取ることができます。
commit identity を設定する
configureUser(JS)または configure_user(Python)を使用して、commit author の詳細をグローバルまたはリポジトリ単位で設定できます。
リポジトリを clone する
サポートされる clone オプションには、宛先パス、branch の選択、depth、username、password、credential-storage の挙動が含まれます。
リポジトリの status と branch を確認する
status() を使用して、現在の branch、ahead/behind カウント、file status を確認できます。
branches() を使用して、branch 一覧と現在の branch を取得できます。
branch を作成、切り替え、削除する
変更を stage して commit する
add を使用して、すべての変更または選択したファイルを stage できます。
commit を使用して、commit を作成できます。オプションには、カスタム author name、author email、empty commit が含まれます。
pull と push
push と pull は、デフォルトで設定済みの upstream を使用できます。remote、branch、upstream 設定を指定することもできます。
remote を管理する
remoteAdd(JS)または remote_add(Python)を使用して、remote を追加したり、追加後に必要に応じて fetch したり、既存の remote を上書きしたりできます。
Git 設定
setConfig / set_config および getConfig / get_config を使用して、Git 設定をグローバルまたはリポジトリ単位で管理できます。