[Git] 1回の`git push`で複数のoriginに送信する

  • このエントリーをはてなブックマークに追加
  • LINEで送る

普段GitHubを利用しているのですが、たまにサービス毎落ちるんですよねw
大抵の場合は仕事を切り上げる理由になって良いのですが、取り急ぎpushだけでもしたいといった場合に困るわけです。VCSはバックアップも兼ねてますからね。

そんなときに普段から別のリポジトリを作成し、バックアップ用に毎回pushしておきます。
コマンドは以下の通り。

$ cd (作業ディレクトリ)
$ git remote set-url --add origin git@github.com:katsube/example.git

正常に登録されたか確認しておきます。1-2行目が最初からあるもの、3行目が新たに追加した物ですね。

$ git remote -v
origin  git@github.com:katsube/original.git (fetch)
origin  git@github.com:katsube/original.git (push)
origin  git@github.com:katsube/example.git (push)

あとはいつも通りgit pushすれば自動的に2箇所にpushしてくれます。

$ git push

ここでは両方GitHubを使っていますが、BitBucketGitLabはもちろん自分が管理するサーバなどのリポジトリに必要に応じて置き換えて実行してくださいませ。

- Sponsored Link -

こちらの意図したタイミングだけpushしたい

普段は自分のリポジトリで開発をし、最終的な成果物をクライアント企業などに提出するときだけpushしたいと言った場合がありますよね。このような意図したタイミングでだけpushしたい場合は、リモートを適当な名前を付けて登録します。

コマンドは以下。backupという名前を付けました。

$ git remote add backup git@github.com:katsube/example.git

登録状態を確認します。デフォルトで作成されるoriginとは別に先ほど追加したbackupがいるのがわかります。

$ git remote -v
backup  git@github.com:katsube/example.git (fetch)
backup  git@github.com:katsube/example.git (push)
origin  git@github.com:katsube/original.git (fetch)
origin  git@github.com:katsube/original.git (push)

あとは追加したリポジトリへgit pushしたいときにだけ以下のコマンドを実行します。

$ git push backup

設定ファイルを編集する

作業ディレクトリにある.git/configでも確認できます。ここを直接編集しても良いですね。

$ cat .git/config
[remote "origin"]
url = git@github.com:katsube/original.git
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:katsube/example.git

参考ページ

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで300円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -

ご質問やリクエストなどお気軽に。メールアドレスの入力は任意です。書き込みが反映されるまで時間がかかります。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください