gitリモートオリジンのセットアップ


180

次のリポジトリがあります。

  1. DEV REPO:開発マシンのディレクトリにあり、ここで変更を行います
  2. MAIN REPO:開発マシンのベアリポジトリ。開発リポジトリから変更をプッシュします。
  3. PRODUCTION REPO:メインリポジトリから更新をプルするためのホストマシン上のリポジトリ

以前git remote add origin /Users/me/sites/main_repoはMAINリポジトリをDEVリポジトリの起点として設定していました。PRODUCTIONリポジトリはリモートホストにあります。同じコマンドのバリエーションを使用して、MAINリポジトリをPRODUCTIONリポジトリの起点として設定することもできますか?「はい」の場合、構文にIPアドレスが含まれると思います。それはどのように見えますか?


「PRODUCTIONリポジトリをMAINリポジトリの起点として設定する」という意味ですか?
ペドロA

回答:


289

SSHの使用

git remote add origin ssh://login@IP/path/to/repository

HTTPの使用

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

ただしgit pull、展開プロセスとして単純なものを使用することは通常悪い考えであり、実際の展開スクリプトを優先して回避する必要があります。


6
なぜそれが本当に悪い考えなのですか?ここで、デプロイメントスクリプトの例を検索します。
ジェイ

14
デプロイとは、単に何をするかよりも(「常に」読むこと)を意味することが多いからgit pullです。運用DBの認証情報を設定し、キャッシュをクリアし、バージョン番号を増やし、古いバージョンをバックアップして、問題が発生した場合にロールバックしたり、アセット(CSSやJsなど)を最適化/最小化したり、その他の膨大な数のリソースを必要とする場合があります。事。
Clement Herreman、2011

33
@ClementHerreman-あなたの説明に基づくと、git pullを使用することは限定的なソリューションであるため、それほど「悪い考え」ではないようです。単純なシナリオの場合、git pullが完全に効果的で単純な展開ソリューションであると感じることがあります。
Brady Holt

4
sshの方法としてssh://を指定する必要があると思います。つまり、git remote add origin ssh:// login @ IP / path / to / repository
kakyo

4
私が最後の声明を「時には悪い考えである」に変更した場合、これは大胆なことではないと思います。
Chris Moschini、2014

104

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

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

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


2
この回答は、「git remote url」がすでに存在する場合にそれを変更したい人に適しています。@lostphilosopherに感謝
eonist

17

リモートを設定するときに追跡するブランチを含めると、期待どおりに機能し続けることができます。

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100: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構成を手動で編集したり、ブランチトラッキングを手動で指定したりする必要がなくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.