最初にbitbucketにリポジトリを作成せずに、SourceTreeを使用してローカルリポジトリをBitbucketにプッシュするにはどうすればよいですか?


116

ローカルgitリポジトリをSourceTreeにインポートしてBitbucketアカウントにプッシュする方法はありますか。私のローカルリポジトリと同じ新しいリポジトリがアカウントに作成されますか?それとも、最初にオンラインでリポジトリを作成し、それにプッシュする必要がありますか?Githubにはローカルリポジトリをクライアントから直接公開する方法があり、公開すると自動的に作成されますが、プライベートリポジトリは制限されています。私は宿題をしているだけなので、公開する理由はありません。それで、なぜbitbucketを使おうとしているのですか。

回答:


152

(sshの代わりにhttpsを使用するように2019年3月29日に更新されたため、sshキーを使用する必要はありません)

BitBucketの場合、最初にオンラインでリポジトリを作成する必要があるようです。Atlassianからの指示を使用して、新しいBitBucketリポジトリを作成し、リポジトリのURLをクリップボードにコピーして、そのリポジトリを新しいリモートとしてローカルリポジトリに追加します(以下の完全な手順)。

リポジトリURLを取得

  1. BitBucketリポジトリで、右上の[クローン]を選択します
  2. ダイアログの右上にある「SSH」ではなく「HTTPS」を選択します
  3. フォームにリポジトリのURLが表示されます git clone <repository url>

CLIを使用してリモートを追加する

  1. cd /path/to/my/repo
  2. git remote add origin https://bitbucket.org/<username>/<reponame>.git
  3. git push -u origin --all

SourceTreeを使用してリモートを追加する

  1. リポジトリ>リモートの追加...
  2. BitBucketリポジトリのURL(https://bitbucket.org/<username>/<reponame>.git)を貼り付けます

古い方法:SSHキーの作成と登録

(この方法は、httpsの代わりにsshのURLを使用する場合です。httpsのように見えssh://git@bitbucket.org/<username>/<reponame>.gitます。httpsを使用することをお勧めします)

BitBucketはプライベートリポジトリに最適ですが、BitBucketアカウントでコンピューターが機能することを承認するには、sshキーを設定する必要があります。幸いなことに、Sourcetreeはそれを比較的単純にします。

SourceTreeにキーを作成する:

  1. Tools> Options、確認してくださいSSH Client:に設定されているPuTTY/Plink下のGeneralタブ
  2. 選択Tools>Create or Import SSH Keys
  3. ポップアップウィンドウで、Generateマウスをクリックして移動し、キージェネレーターをランダムにします。
  4. 下のスクリーンショットに示されているようなものが得られるはずです。公開鍵(青色で強調表示)をクリップボードにコピーします

    パテ

  5. Save private KeyおよびSave public keyをクリックして、次のセクションに進む前に<Home Dir>/putty/ssk-key.ppk、選択した場所(たとえば、<Home Dir>/putty/ssh-key.pubそれぞれに)にキーを保存します

BitBucketにキーを登録する

  1. BitBucketアカウントにログインし、右上のプロフィール画像をクリックして、Settings
  2. SSH Keys左側のサイドバーのタブに移動します
  3. をクリックAdd SSH Keyして名前を付け、前のセクションのステップ4でコピーした公開鍵を貼り付けます。

それでおしまい!これで、BitBucketのプライベートリポジトリにプッシュ/プルできるようになります。キーはGitだけのものではありません。多くのサービスはsshキーを使用してユーザーを識別します。最良の部分は1つだけ必要です。キーを紛失した場合(コンピューターの変更時など)は、手順に従って新しいキーを作成および登録してください。

補足:CLIを使用したSSHキーの作成

このチュートリアルに従ってください


を使用Paste the BitBucket repository url (git@bitbucket.org/<username>/<reponame>.git)すると、sshキーを追加する必要があります。あなたがまだ既存のものを持っていない場合には、痛みになります。
Alex Kyriakidis 2015年

1
はい、BitBucketは主にプライベートリポジトリ用であるため、使用を開始するにはsshキーが必要です。心配しないでください。見た目ほど悪くはありません。私は私の回答に簡単なチュートリアルを追加しました
woojoo666

3
HTTPSを使用する方がはるかに簡単なのに、なぜSSHと公開鍵/秘密鍵に苦労するのですか ではClone、ダイアログ、HTTPSへのSSHからダウン右上のドロップを切り替えてURLを取得します:https://bitbucket.org/<reponame>.git
ダンDAR3

1
@ DanDar3はい、ありがとうございます。これにより、面倒な作業が大幅に軽減されました。
2019年

1
@ DanDar3すごい簡単です、私は答えを更新しました、ありがとう!
woojoo666

24

実際にはもっと簡単な解決策があります(Macバージョンのみ)。たった4つのステップ:

  1. リポジトリを右クリックして、「リモートに公開...」を選択します。

SourceTree Publish to Remote Screeshot

  1. 次のウィンドウで、パブリッシュするかどうか(github、bitbucketなど)を尋ねられたら完了です。
  2. リモートリポジトリをリンクする
  3. 押す

これは新しいものでなければなりません。私は実際にリポジトリを使用していないので、少し試してみます。
cma0014 2015年

3
実際、私はそれがSourceTreeのMacバージョンのみであり、Windowsではないことを確認しました。:(
デビッド

1
ええ、私はそれがリモートにレポを作成することを確認しましたが、ローカルリポジトリのリモートにリンクを設定しません。それは次のバージョンのための素晴らしいアップグレードでしょう
デビッド

1
@bauerMusicこれは「進行中」ウィンドウでも起こりました。しかし、最近ではありません。あなたが言ったように...何かがこの機能で失敗します。誰もが予想するように、新しいリモートリポジトリにリンクしません。すべてにもかかわらず、SourceTreeは私が見つけたMacの最高のGITマネージャーです。
David

1
それは実際に私にとって完璧に機能します、それはレポを作成し、それをローカルおよびリモートとリンクします、おそらく2016年以来それらはそれを改善します
Kross

10

このビデオが示すように、最初にオンラインでリポジトリを作成するのが通常の方法です。

SourceTreeリリースノートには、 SourceTree 1.5+のための言及を行います。

Bitbucketのチーム/組織アカウントで新しいリポジトリの作成をサポートします。

したがって、「公開」機能はありませんが、SourceTreeからオンラインリポジトリを作成できます。

ブログの投稿「SourceTree for Windows 1.2はここにあります」(2013年9月)には、次のような記述もあります。

これで、SourceTreeでBitbucket、Stash、およびGitHubアカウントを構成し、これらのサービス上のすべてのリポジトリを即座に確認できます。SourceTreeを離れることなく、それらのクローンを簡単に作成してWebでプロジェクトを開き、リモートサービス上に新しいリポジトリを作成することもできます
これは、[表示]> [ホストされているリポジトリを表示]の下のメニュー、またはブックマークパネルの右下にある新しいボタンを使用して見つけることができます。

http://blog.sourcetreeapp.com/files/2013/09/hostedrepowindow.png


家に帰ったら試してみます、ありがとう!
cma0014 2014年

そうですが、ローカルのdevフォルダーをレポにすることは困難です。
Ben Racicot、2015

3

私はこれを使用しましたが、うまくいきました。ディレクトリが

「レポ」とあなたのプロジェクトは「こんにちは」そこにプロジェクトをコピーします

cd /path/to/my/repo

ディレクトリを初期化する

git init

プロジェクトをステージングする

git add hello

プロジェクトをコミットする

git commit

Bitbucketで使用しているメールとユーザー名を使用して設定を追加します

git config --global user.email
git config --global user.name

プロジェクトにコメントを追加する

git commit -m 'comment'

今すぐプロジェクトをプッシュする

git push origin master

マスターからチェックアウト

git checkout master

3

Bitbucketは、プログラムでBitbucketリポジトリを作成するために使用できるREST APIをサポートしています。

ここで入手可能なドキュメントとcURLサンプル:https : //confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository

$ 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" }'

Windowsでは、curlはGit Bashシェルから利用できます。

この方法を使用すると、ローカルgitサーバーからBitbucketに多数のリポジトリをインポートするスクリプトを簡単に作成できます。


1

Bitbucketリポジトリのセットアップ(Macのコマンドライン)

ローカルリポジトリから始めて、新しいアプリケーションを作成します。

  1. ターミナル-> cd〜/ Documents(アプリケーションの基本ディレクトリパスを貼り付けます)
  2. ターミナル-> mkdir(でディレクトリを作成)
  3. ターミナル-> cd(ディレクトリをディレクトリに変更)
  4. BitBucket A / C-> bitBucketアカウントにリポジトリを作成
  5. Xcode->同じ名前で新しいxcodeプロジェクトを作成
  6. ターミナル-> git init(空のリポジトリを初期化)
  7. ターミナル-> git remote add origin(例:https://app@bitbucket.org/app/app.git
  8. ターミナル-> git add。
  9. ターミナル-> gitステータス
    1. ターミナル-> git commit -m "IntialCommet"
    2. ターミナル-> git push originマスター

APPLICATIONクローンリポジトリを作成します。

  1. ターミナル-> mkdir(でディレクトリを作成)
  2. ターミナル-> cd(ディレクトリをディレクトリに変更)
  3. ターミナル-> git clone(例:https://app@bitbucket.org/app/app.git
  4. ターミナル-> cd
  5. ターミナル-> gitステータス(編集/更新されたファイルのステータスを表示)
  6. ターミナル-> git pull origin master
  7. ターミナル-> git add。
  8. ターミナル-> git push originマスター

1

Windowsユーザー向けの別のソリューション:

これはGithubをBitbucketにアクセスするためのブリッジとして使用するため、Windows Sourcetreeアプリから直接公開することができませんでした。

  1. ローカルリポジトリをGithubデスクトップアプリに読み込みます。
  2. GithubデスクトップアプリからGithubアカウントにプライベート(必要に応じてプライバシー)リポジトリとしてリポジトリを公開します。
  3. Bitbucketのウェブサイトで個人/チームアカウントを開きます
  4. Githubからインポートして、新しいBitbucketリポジトリを作成します。
  5. Githubでリポジトリを削除します。

これが完了すると、すべてがBitbucketに読み込まれます。ローカルのリモートは、おそらく今はBitbucketを指すように構成する必要があります。


0

GITは、コミットとブランチが適切に維持されている場合、バージョン管理とチームプロジェクトの目的に役立ちます。
ステップ1:上記の回答で述べたように、cliを使用してローカルリポジトリのクローンを作成します

$ cd [path_to_repo]
$ git remote add origin ssh://git@bitbucket.org//.g​​it
$ git push -u origin --all

ステップ2:上記のいずれかのステップに従って、作品をプッシュ/プルできます。簡単な方法はgit guiを使用することです。グラフィカルインターフェイスを提供するため、ステージング(追加)/アンステージング、コミット/アンコミット、プッシュ/プルが簡単です。初心者はgitプロセスを簡単に理解できます。

$ git gui

(または)
ステップ2:上記のとおり。Cliコードが機能します。

$ git status
$ git add [file_name]
$ git commit _m "[Comit message"] "
$ git push origin master / branch_name


0

Joeの回答の更新として、APIを使用してリポジトリの作成をスクリプト化できるという点で、必要なAPI呼び出しのみが異なりました。これは、bitbucketクラウドではなくbitbucketサーバーを使用しているためと考えられます。

サーバー上のプロジェクト内に新しいリポジトリを作成するために、私は以下を使用しました:

curl -X POST -v -u USER:PASSWORD -H "Content-Type: application/json" \
http://SERVER/rest/api/1.0/projects/PROJECTNAME/repos/ \
-d '{"scmid":"git", "name":"REPONAME"}'

ここでUSERPASSWORDSERVERPROJECTNAMEおよびREPONAMEもちろん所望の/必要な値でした。

呼び出しは、APIリファレンスに記載されています

/rest/api/1.0/projects/{projectKey}/repos

新しいリポジトリを作成します。このリポジトリが作成される既存のプロジェクトが必要です。使用される唯一のパラメーターは、名前とscmIdです。

認証されたユーザーには、コンテキストプロジェクトがこのリソースを呼び出すためのPROJECT_ADMIN権限が必要です。


0

(少なくともLinux / WSL)bitbucket.orgのブラウザーから、ローカルリポジトリと同じ名前で空のリポジトリを作成し、ローカルリポジトリ(タイプする2つのコマンド)をインポートするためにbitbucketによって提案された指示に従います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.