Git にリモート ディレクトリを設定して、ローカルにステージ ブランチをリモートにプッシュし、ステージング サーバー (stage.example.com など) でライブの変更を確認するにはどうすればよいですか?
私が持っている概念 (SVN から離れている理由の一部) は、次のように 3 つの異なる「メイン」ブランチを (ローカルで) 維持できるということです。
- master - ローカル開発、作業ディレクトリに使用
- stage - ステージング サーバー ディレクトリ (リモート) と同期する必要があります
- live - これは一般にアクセス可能な Web サイト (リモート) である必要があります
私が持っているアイデア(および他の人が可能だと主張していること)は、リモートサーバーシェルに常にログインして実行する必要なく、ローカルコンピューターからこれらのリモート「サイト」を維持できるということですsvn update(現在のsvnワークフローでは、これをすべて行う必要があります時間…) またはもちろん、私の Git ワークフローgit pullではリモートで実行されます。
stageブランチをローカルにプッシュして(たとえば)すぐstaging remote serverに変更を確認できるように、リモート ディレクトリをセットアップするにはどうすればよいですか? stage.example.com
次に、stageすべてが正常でテストされたら、ローカルでpushリモートにアクセスして、ライブ Web サイトでliveテストしたこれらの変更を行うことができます。stage
これを行うことはできますか、それとも Git で行うことを意図していないクレイジーなアイデアをここで得ていますか?
これが重要な場合に備えて、ローカル サーバーとリモート サーバーに関するいくつかの統計を次に示します。
リモートサーバー: Dreamhost (共有アカウント) リモート GIT バージョン: 1.7.1.1 リモート GIT クライアント: シェル ローカル コンピューター: Mac Pro (Snow Leopard 10.6.6) ローカル GIT バージョン: 1.7.2.3 ローカル GIT クライアント: Tower.app // git-tower.com
また、これまでのところ、次のワークフローの試行に失敗しました。
--bareリモートで Git リポジトリを作成します(どこからでもアクセスできるようにします)- このリモート リポジトリをローカル ディレクトリにクローンし、Git Tower アプリを使用して管理します
- 地元で働く
master (HEAD) scp -r--bareリモート サーバーからリモート ライブ ドメインに git リポジトリをコピーするstage.example.com- リモートをローカルの作業コピーに追加してから、プッシュを試みます
origin/stage
明らかにこれは機能しませんが、それを改善する理由や方法がわかりません。
SVN のバックグラウンドから来て、Git は初めてですが、チュートリアル(Peepcode & ThinkVitamin)をたくさん見ましたが、これを設定する方法がわかりません。