1

実稼働サーバーがマスター ブランチより先にあると考えているように見える理由について、私は混乱しています。私はファブリックを使用してデプロイし、github のマスター ブランチからサーバー上で git pull を実行します。実稼働サーバー自体で認識している変更は行っていません。また、実稼働サーバーでコミットも行っていません。

git status収量:

  # On branch master
  # Your branch is ahead of 'github/master' by 57 commits.
  #
  nothing to commit (working directory clean)

私が知る限り、運用サーバーにあるものは、開発環境のマスター ブランチと一致します。少なくともこのサイトは同じように動作しますが、これには戸惑います。github マスターと同じページで本番リポジトリを取得し、このメッセージの表示を停止する方法についてのアイデアはありますか?

編集 (2013 年 4 月 11 日):

明確にするために、ファブリックを使用して展開すると、次のように実行されます。

git pull github master サーバー上。

上記の元の質問に書かれた私のgitステータスの結果は、サーバー上にあります。サーバー上でコミットすることは決してありません。開発環境でのみコミットし、それを github にプッシュし、次にそれをサーバーにプルします。それが私が混乱している理由です。実稼働サーバーから github に何もプッシュしたくないのは確かです。これは私のワークフローの反対方向です。

2 回目の編集 (2013 年 4 月 11 日):

fabfile git コードは次のとおりです。

def prepare_remote_deployment_area():
    """Prepare the production host with updated resources"""
    with cd(DEPLOYMENT_ROOT):
        run('git pull github master')

これは deploy から呼び出されます:

def deploy():
    """Deploy an update (committed to GitHub) to production"""
    check_git_status()
    check_git_status(on_remote=True)
    prepare_remote_deployment_area()
    restart_uwsgi()
    restart_nginx()
    restart_celery()

繰り返しますが、開発環境で行った変更が本番環境に反映されるという意味では、これはすべて機能しているようです。プロダクションリポジトリがgithubマスターよりもはるかに進んでいると考える理由がわかりません。

4

1 に答える 1

0

多分git pull

git pull origin master

より詳しい情報

NAME
       git-pull - Fetch from and merge with another repository or a local
       branch

DESCRIPTION
       Incorporates changes from a remote repository into the current
       branch. In its default mode, git pull is shorthand for git fetch
       followed by git merge FETCH_HEAD.
于 2013-04-11T04:58:25.187 に答える