ローカルコンピュータから定期的にコミットするGitHubにリポジトリがあります。反対側で私はサーバーがリポジトリから引っ張ってきた。 Webサーバは、GitHubリポジトリから最新の変更を取得するためにgit pull
を実行するだけです。これは完全に自動化されており、そのようにしておくべきです(Ruby Tool Capistranoのような解決策は出ています)。リモートサーバーから最新のリビジョンのチェックアウトを強制するにはどうすればいいですか?
単純なgit pull
は通常正常に動作します。しかし、時々私は最後のコミット(git commit --amend
)とgit push
をGitHubに2回変更します。サーバーがGitHubへの2回のプッシュの間にコードを自動更新すると、マージ競合があるため次のサーバー側git pull
が失敗します。
この問題を解決するには、サーバーがgit pull
(またはこれと同等のもの)のGitHubリポジトリに進む必要がありますが、マージの競合が発生した場合、GitHubリポジトリはサーバー上のローカルリポジトリ。ですから、git clone
のように動作するgitコマンドが必要ですが、毎回リポジトリ全体をコピーしません。
私はそれを試みるつもりです。 –