2011-08-31 12 views
152

私は以下のreposを持っています。gitリモートオリジンを設定する

  1. DEVのREPO:私はDEVレポから
  2. PRODUCTIONのREPOを変更をプッシュする私の開発マシン上で裸のリポジトリ:ホストマシン上のリポジトリ私は
  3. MAIN REPOを変更します私の開発マシン上のディレクトリ内をメインリポジトリから更新を引き出す

私はを使用して、MAINレポをDEVレポの起点として設定しました。 PRODUCTIONリポジトリはリモートホストにあります。同じコマンドのバリエーションを使用して、MAINレポをPRODUCTIONレポの起点として設定することはできますか? "はい"の場合、構文にはIPアドレスが含まれていると仮定します。どのように見えるだろうか?展開プロセスは、通常、悪いアイデアで、実際の展開スクリプトの賛成では避けるべきであるしかし簡単なgit pullを持つHTTP

git remote add origin http://IP/path/to/repository 

を使用してSSH

git remote add origin ssh://[email protected]/path/to/repository 

を使用して

答えて

238

+6

なぜそれは本当に悪い考えですか?デプロイスクリプトの例をいくつか検索しました。 – Jay

+14

デプロイメントは、 'git pull'だけでは意味がない(「always」を読む)ことが多いためです。プロダクションDBの資格情報を設定し、キャッシュをクリアし、バージョン番号を増やし、古いバージョンをバックアップして、問題が起こった場合にロールバックし、資産(CSSやJなど)を最適化/縮小し、もの。 –

+32

@ClementHerreman - あなたの説明に基づいて、git pullを使うのは、それが限られた解決策であるため、あまり「悪い考え」ではないようです。単純なシナリオがある場合、git pullが完全に効果的で簡単なデプロイメントソリューションになることがあります。 – Brady

12

あなたが期待するかもしれないとして働いて物事を保つために、リモコンを設定するときに追跡するために枝を含めることができます。

git remote add --track master origin [email protected]:group/project.git # git 
git remote add --track master origin [email protected]:group/project.git # git w/IP 
git remote add --track master origin http://github.com/group/project.git # http 
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP 
git remote add --track master origin /Volumes/Git/group/project/   # local 
git remote add --track master origin G:/group/project/      # local, Win 

これは、手動でGitの設定を編集したり、手動で枝の追跡を指定することからあなたを保持します。ここに来る人のため

76

、私はあなたがここでそのドキュメントを見つけることができます別の場所に変更原点に構文を探して、同じように:https://help.github.com/articles/changing-a-remote-s-url/を。これを行うにはgit remote addを使用すると、「致命的:リモートオリジンが既に存在します」となります。

一言で言えば: git remote set-url origin https://github.com/username/repo

(マークされた答えが正しいことを、私はちょうど私が(笑)...あったように失われたとして誰を助けることを望んでいる)

+0

この回答は、 "git remote url"それがすでに存在する場合。ありがとう@ lostphilosopher – eonist

関連する問題