bitbucketに新規リポジトリを作成して既存のディレクトリと繋げるときにハマった話
今日はgitの話です。今まで何度かgitでは似たようなハマり方をしてきましたが、ひとつ前進したところがあったので、おもに自分用のメモとして残しておきます。
#にしても本当にAVCみたいになりつつありますが・・まずいまずい。
さて、何が前進したのか、何をやったのか、という話ですが、ひとことで言うとbitbacketにリポジトリを作って、既存の作業ディレクトリとそれを繋げる、ということをやりました。
順に説明すると、やったことは、まずbitbucketのダッシュボード上方(画像内右上)の「作成」でリポジトリ作成。
新規リポジトリのスタートページに行くので、そこで「私はこれまでに作ったリポジトリをプッシュします。」を選択。
んで、次に行ったページにある、「すでに Git リポジトリをお持ちなら、 Bitbucket にプッシュすることでコードをインポートできます。」と書かれた下のこんなコードを順次ターミナルに入力(というかコピペ)。
#注:ユーザー名とリポジトリ名はこの記事用に変更してます。
$ cd /path/to/my/repo $ git remote add origin ssh://git@bitbucket.org/sample_user/newrepository.git $ git push -u origin --all # pushes up the repo and its refs for the first time
で、OK!!
・・となると思ったんですが、全然ならない。これが今日のハマりポイントでした。
んで、とりあえず15分ぐらい試行錯誤して何とかクリアできたので、以下はその模様です。
*
まず、いきなりつまづいたのはそのターミナルに打ち込む内容として示された最初の行、こんなふうに書いてありますけど、
$ cd /path/to/my/repo
これ、分かる人にはもちろん普通にわかるんだと思いますが、あくまで「例」としてのパスですね。
つまり、ここにはこのままではなく、対象のリポジトリがあるパス(場所)を書かなきゃいけません。
まあ、ぼくはここに実際につまづいたわけではなくて、そういうことだろうな〜、とは思ったんだけど、どこにもそういう補足説明みたいのがなかったので、「そういうことだろうな〜、そういうことかなあ〜?」みたいにビクビクしながらやったら、まあそうだった、ということで。シリアスなハマりではないけど一応ハマりポイントのひとつだった、ということで。
んで、次から普通につまづきます。とりあえず、2行目のこれを打ち込んだところで、
$ git remote add origin ssh://git@bitbucket.org/sample_user/newrepository.git
こんなのが返ってきました。
fatal: Not a git repository (or any of the parent directories): .git
エラーっぽい。どう見ても・・ああ、そうか。このディレクトリそういえば、まだ「git init」してないじゃん。
ということで、
$ git init
してからもう一度、
$ git remote add origin ssh://git@bitbucket.org/sample_user/newrepository.git
すると、無反応。というか、まあたぶん問題ないということらしい。じゃ、OK!
ということで次に行くと、ここでも普通につまづきます。3行目のこれを打ち込んだところ、
$ git push -u origin --all
こんなレスポンスが戻ってきました。
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'. fatal: The remote end hung up unexpectedly Everything up-to-date
ふむ・・ブランチマスターがないよ、ってことかね・・
と思い、そういえば、自分が今どのブランチにいるのか確認するのって、「git branch」だっけ。と思い、
$ git branch
と打ったけどウンともスンとも言わない。というか、何もなかったようにスルーされるというか・・
そこで手元のこれを開き、
- 作者: 川野辺正博
- 出版社/メーカー: 秀和システム
- 発売日: 2012/09
- メディア: 単行本
- 購入: 1人 クリック: 32回
- この商品を含むブログ (10件) を見る
ふむ・・でもやっぱり、普通に上記ので合ってるらしい。普通ならマスターブランチにいるので、
$ git branch * master
みたいに返ってくるはずなんだが・・というところで、ああ、そういえばこのディレクトリ、「git init」したのはいいけど、その後まったくaddもcommitもしてないなあ〜、と思い、とりあえずそれしてみるか、ということに。
んで、既存の作成中ファイルのうち、とりあえずコミットしておきたいのをadd、commitして、あらためてトライしたら、
$ git push -u origin --all (略) To ssh://git@bitbucket.org/sample_user/newrepository.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
てな感じに。よくわからんが何となく上手くいった風。
で、その後のコミット&プッシュも上手くいってるようなので、これで何とか良さそう。
ということで、まとめとしては、 「git branch」して無反応だったらとりあえずコミットしとけ。ということでしょうか。(ちがう気もする)
まあ、なし崩し的にではありますが、既存のディレクトリにbitbucket上の新規リポジトリをつなげる方法も分かって、今後につながる学びであったように思います。(GitHubも同じようなものなんだっけ・・まあ、そのうち試してみます)
おしまい。