0

ローカル Git ワークフローはどのように見えるべきですか?

これを使用して、ローカル サーバーで実行されるソフトウェアを開発しています。また、このサーバーを git repo ホストとして使用したいと思います。

これまでのところ、サーバー上で --bare を使用して新しいリポジトリを初期化し、現在のコードをそこにプッシュしました。

そのコードをサーバー上のディレクトリ (つまり /var/www/) にチェックアウトするにはどうすればよいですか?

開発ブランチを作成し、開発マシンで git pull を使用して取得し、特定の機能セットの完成に近づいたら、開発ブランチからリリース ブランチを作成する必要があると考えています。このリリース ブランチは、ここで説明されているワークフローに従って、マスター (ライブ/本番) ブランチとマージされます。

私の主な質問 (上記) は:裸の git リポジトリからサーバー上のライブ ディレクトリにコードをチェックアウトするにはどうすればよいですか?

4

5 に答える 5

1

そのコードをサーバー上のディレクトリ(つまり/ var / www /)にチェックアウトするにはどうすればよいですか?

例えば

cd /var/www && git clone /path/to/repo .

ベアgitリポジトリからサーバーのライブディレクトリにコードをチェックアウトするにはどうすればよいですか?

cd /var/www && git pull 
于 2012-06-13T08:29:41.870 に答える
1

ライブサイトをホストするサーバーにもベアレポをセットアップすることをお勧めします。

作業を開始するには、その裸のレポをローカルの開発マシンに複製します

localhost:~# git clone you@yourlivehost:/path/to/bare /path/to/local/dev

そのレポ内で、すべての開発/コミット/ブランチ/マージを行い、完了したらベアレポにプッシュします。

ライブ サーバーに手動でログインし、ベア リポジトリからライブ サービスに変更をプルするか、更新後のフックにジョブを任せることができます。

手動 (初回):

localhost:~# ssh you@yourlivehost
yourlivehost:~# cd /path/to/live/server
yourlivehost:/path/to/live/server# git clone /path/to/bare .

手動 (その他の場合):

localhost:~# ssh you@yourlivehost
yourlivehost:~# cd /path/to/live/server
yourlivehost:/path/to/live/server# git pull

これは、常にマスターで作業していることを前提としています。より複雑な分岐戦略に従う場合 (提供されたリンクで説明されているように、これは私が使用したいのと同じ戦略です)、プッシュする前に、ブランチ開発からマスターに必要なすべての変更をマージする必要があります。ローカル開発ホストから裸のレポへ。

フックに自動的にこれを実行させるには、ファイルを編集して次の/path/to/bare/hooks/post-updateように入力します

cd /var/www
git pull origin

ファイルが実行可能であり、リポジトリの実行に使用するユーザーに webserver-directory への書き込み権限があることを確認してください。

于 2012-06-13T08:40:48.873 に答える
0

これを試して:

git clone file:///path/to/your/bare-repo

またはこれはホスト間で:

git clone user@host:/path/to/your/bare-repo
于 2012-06-13T08:31:05.430 に答える
0

GIT リポジトリのコンテンツをライブ インストールにハードリンクします。

私の要点をチェックしてください: https://gist.github.com/2652879

すべてのリポジトリを更新した後、これを htdocs ディレクトリで実行します。このようにして、私は常にライブ インストールにリポジトリのコンテンツを保持し、ライブ インストールに変更を加えることができ、問題がなければそれ以上の作業を行わずにコミットできます。

これには、ライブ インストールに直接リポジトリがなく、そこからのファイルのみがあるという以前の anserws よりも優れた利点があります。

于 2012-06-13T08:33:52.743 に答える
-1

ジトライトを見てください!独自の git サーバーをローカルまたはリモート マシン上でキーによるアクセスで編成するのに便利な方法です。したがって、将来、誰かを自分のリポジトリの 1 つに追加する必要が生じた場合でも、問題はありません。

于 2012-06-13T08:39:42.777 に答える