0

ローカル ブランチ ( master)、GitHub リポジトリ ( origin)、および別のリモート リポジトリ ( server) があります。リモートをセットアップしたので、ローカルでgit push server master変更を入力してプッシュできserver/masterます。

ローカルとサーバーで入力git log -1すると、同じコミットが返されますが、ローカルで行った変更はサーバーには表示されません。

Capistrano を使用してアプリをデプロイしたので、再デプロイすると変更がすぐに表示されますが、変更を加えるたびに再デプロイする必要はありません。

ここで何が起こっているのか分かりますか?私はGitにかなり慣れていません。うまくいけば、それは簡単に修正できるものです。

4

2 に答える 2

0

通常origin、 は GitHub リモートに使用される名前であり、 ではありませんmaster。を実行して、使用しているリモコンを確認できますgit remote show。リモートの使用についてさらに詳細が必要な場合git remote show origin(または、リモートがオリジンでない場合は、リモートの名前が何であれ)。これにより、リストが表示されます。あなたが持っているのは、実際には 2 つのローカル ブランチ (マスターとサーバー) であると思われます。をしてみてくださいgit push server origin。これにより、サーバー ブランチが取得され、GitHub に配置されます。

あるいは

サーバー ブランチの変更をマスター ブランチと結合しようとしている場合は、 and を使用しcheckout masterますgit merge server。これにより、サーバー ブランチからの変更がマスター ブランチにマージされ、 経由で GitHub にアップロードできますgit push master origin

于 2012-10-04T06:23:42.570 に答える
0

Web サーバーが指しているディレクトリとは別のディレクトリを見ているように思えます。

カピストラーノをセットアップするとき:

cap deploy:setup
#then
cap deploy

次のようなディレクトリ構造が作成されます。

/releases (each deploy gets its own randome number directory)
/current (a sym-link to the latest release)
/shared

これらのフォルダーはいずれも git に関連付けられていません。これにより、Webサーバーがgitで使用しているディレクトリと同じディレクトリを指していない可能性があると思います。

--

問題がある場合に出力を確認できるため、cap deploy が望ましい場合があります。

私は大した専門家ではありませんが、上記は Capistrano でレールをセットアップした方法です。

于 2012-10-04T06:20:08.207 に答える