私はGitの初心者です。最近、RailsプロジェクトをSubversionからGitに移動しました。私はここでチュートリアルに従いました:http : //www.simplisticcomplexity.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/
また、コードを格納するためにunfuddle.comを使用しています。次のコマンドを使用してネットワークに接続しているときに、電車の中で仕事中のMacラップトップに変更を加え、それを手放しにプッシュします。
git push unfuddle master
私はデプロイメントにCapistranoを使用し、masterブランチを使用してunfuddleリポジトリーからコードをプルします。
最近、ラップトップで「git status」を実行すると、次のメッセージに気づきました。
# On branch master
# Your branch is ahead of 'origin/master' by 11 commits.
#
nothing to commit (working directory clean)
そして、私はその理由について混乱しています。私のラップトップが起源であると思いました...しかし、私が最初にSubversionからプルしたか、Unfuddleにプッシュしたという事実がメッセージを表示しているのかどうかはわかりません。どうやって:
- Gitが「origin / master」がどこにあると考えているか調べてください。
- 別の場所にある場合、どのようにして私のラップトップを「元の/マスター」に変えることができますか?
- このメッセージを取得して、先に進みます。Gitが何かに不満を持っていると思います。
私のMacはGitバージョン1.6.0.1を実行しています。
git remote show origin
dbrの提案どおりに実行すると、次のようになります。
~/Projects/GeekFor/geekfor 10:47 AM $ git remote show origin
fatal: '/Users/brian/Projects/GeekFor/gf/.git': unable to chdir or not a git archive
fatal: The remote end hung up unexpectedly
git remote -v
アリストテレス・パガルツィスの提案どおりに走ると、次のようになります。
~/Projects/GeekFor/geekfor 10:33 AM $ git remote -v
origin /Users/brian/Projects/GeekFor/gf/.git
unfuddle git@spilth.unfuddle.com:spilth/geekfor.git
興味深いことに、私はgeekfor
ディレクトリでプロジェクトに取り組んでいますが、私の原点はgf
ディレクトリ内のローカルマシンであると表示されています。私はgf
、プロジェクトをSubversionからGitに変換するときに使用した一時ディレクトリであり、おそらくそこから解読するようにプッシュしました。次に、unfuddleからgeekfor
ディレクトリに新しいコピーをチェックアウトしたと思います。
だから私はdbrのアドバイスに従い、実行する必要があるようです:
git remote rm origin
git remote add origin git@spilth.unfuddle.com:spilth/geekfor.git
origin
リポジトリにプッシュすることを書いています(たとえそれがgit用語でどのように機能するかを認識していませんが)–リモートを削除することは彼にとって何の役にも立たないでしょう。