77

コマンドラインGitを使用してBitbucketに新しいリポジトリを作成することは可能ですか?私は以下を試しました:

git clone --bare https://username@bitbucket.org/username/new_project.git

このメッセージが表示されます:

ベアリポジトリ'new_project.git'にクローンを作成しています...
致命的:https://username@bitbucket.org/username/new_project.git/info/refs見つかりません:サーバーでgit update-server-infoを実行しましたか?

Webアプリにアクセスせずにこれを行うと便利です。

4

8 に答える 8

94

BitbucketRESTAPIとcURLを使用できます。例えば:

curl --user login:pass https://api.bitbucket.org/1.0/repositories/ \
--data name=REPO_NAME

。という名前の新しいリポジトリを作成しますREPO_NAME

詳細については、BitbucketRESTAPIの使用を参照してください。

アップデート

特にBitbucketV2については、新しいリポジトリのPOSTを参照してください。

于 2012-12-09T15:24:55.583 に答える
15

https://confluence.atlassian.com/bitbucket/repository-resource-423626331.html

$ curl -X POST -v -u username:password -H "Content-Type: application/json" \
  https://api.bitbucket.org/2.0/repositories/teamsinspace/new-repository4 \
  -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'
于 2015-11-11T17:38:18.487 に答える
13

プロンプトからの入力を受け入れるように@hannesrのスクリプトを少し調整しました

# startbitbucket - creates remote bitbucket repo and adds it as git remote to cwd
function startbitbucket {
    echo 'Username?'
    read username
    echo 'Password?'
    read -s password  # -s flag hides password text
    echo 'Repo name?'
    read reponame

    curl --user $username:$password \
         https://api.bitbucket.org/1.0/repositories/ \
         --data name=$reponame \
         --data is_private='true'
    git remote add origin git@bitbucket.org:$username/$reponame.git
    git push -u origin --all
    git push -u origin --tags
}

これを.bashrcまたはに配置する必要があります.bash_aliases

于 2014-09-09T19:47:57.720 に答える
4

上記のスクリプトに@pztrickを少し変更しました。この新しいスクリプトは同じように機能するはずですが、新しい2.0APIを使用しています。

function startbitbucket {
    echo 'Username?'
    read username
    echo 'Password?'
    read -s password  # -s flag hides password text
    echo 'Repo name?'
    read reponame

    curl -X POST -v -u $username:$password  -H "Content-Type: application/json" \
  https://api.bitbucket.org/2.0/repositories/$username/$reponame \
  -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'

    git remote add origin git@bitbucket.org:$username/$reponame.git
    git push -u origin --all
    git push -u origin --tags
}

これを.bashrcまたは.bash_aliasesファイルに配置できます(元のスクリプトと同じように)。

これもプライベートリポジトリとして作成されることに注意してください。「is_private」:「true」を「is_private」:「false」に変更して、パブリックリポジトリにすることができます。

于 2018-11-03T01:56:41.643 に答える
2

現在の作業ディレクトリにローカルgitを作成し、「初期コミット」を実行してから、ビットバケットリポジトリを作成し(Mareks curlメソッドを使用)、最後に初期のプッシュに必要なすべてを実行するクイックシェルスクリプトを作成しました。 bitbucketにコミットします。

(これはプライベートリポジトリ専用ですが、Patrickの説明に従って簡単に変更できることに注意してください)

次のように使用します。

fillbucket <user> <password> <reponame>

コードはhttp://bitbucket.org/hannesr/fillbucketにあります

于 2014-02-26T13:28:41.457 に答える
2

cURLの一番の答えは私にはうまく機能していなかったので、PythonでBitbucket-APIを使用してそれを行うことになりました。これがrepository.create()呼び出しに関するドキュメントです。

インストール:

pip install bitbucket-api

Python:

>>> from bitbucket.bitbucket import Bitbucket
>>> bb = Bitbucket(username, password)
>>> bb.repository.create('awesome-repo', scm='git', private=True)
(True, {u'scm': ...})
于 2015-08-28T06:10:47.703 に答える
2
  • Bitbucket Cloud(bitbucket.org)を使用している場合は、Bitbucket REST APIとcURLを使用できます。また、リポジトリのプロジェクトキーを指定するには、次の方法を使用できます。-

curl -X POST -v -u $username:$password "https://api.bitbucket.org/2.0/repositories/$username/$reponame" -H "Content-Type: application/json" -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks", "project": {"key": "'$project_key'"}}'

これにより、特定のプロジェクトの下にリポジトリが作成されます。

  • Bitbucketサーバーでリポジトリを作成する場合は、V1.0RESTAPIを使用できます。コマンドは次のようになります:-

curl -u $username:$password -X POST -H "Content-Type:application/json" -d '{"name": "'$reponame'","scmId": "git","forkable": true}' http://localhost:7990/rest/api/1.0/projects/${project_key,,}/repos

localhost:7990の代わりに、会社のurl(exmple --birbucket.xyz.com)を指定できます。

Bitbucket Serverの詳細については、「Bitbucket ServerRESTAPIの使用」を参照してください。

于 2021-03-04T05:14:31.877 に答える
0

@hannester私はあなたのスクリプトをフォークし、少し変更しました。

間違ったリモートURLがありました(スクリプトにユーザー名を残しました)。スクリプトファイルにユーザー名とパスワードが含まれるように変更しました。

そして、ここでパスに追加する方法の説明とともに、名前が変更されました:

https://bitbucket.org/oscarmorrison/newgit

于 2014-08-12T10:58:49.723 に答える