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)をたくさん見ましたが、これを設定する方法がわかりません。