普段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を使っていますが、BitBucketやGitLabはもちろん自分が管理するサーバなどのリポジトリに必要に応じて置き換えて実行してくださいませ。
こちらの意図したタイミングだけ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