背景
外部ツールの更新をfetchしつつ、カスタマイズした内容を自分のリポジトリにpushしたかった(手軽に)
ローカルリポジトリを作成
任意のリポジトリを作成、またはclone
git clone https://github.com/hoge/fuga
もしshallow clone
している場合は以下で全体を取得
git fetch --unshallow
リモートリポジトリを確認
git remote -v
>>> origin https://github.com/hoge/fuga (fetch)
>>> origin https://github.com/hoge/fuga (push)
この段階ではfetchとpushで同一のurlが設定されているため、push先を別urlに設定する
push先を別リポジトリに設定
git remote set-url --push origin https://github.com/piyo
リモートリポジトリを再度確認
git remote -v
>>> origin https://github.com/hoge/fuga (fetch)
>>> origin https://github.com/piyo (push)
これで簡単にfetchとpushができるようになった
git fetch
git push
番外(remoteコマンドのオプション)
git remote --help
で見られる
git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
git remote set-branches [--add] <name> <branch>...
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote [-v | --verbose] show [-n] <name>...
git remote prune [-n | --dry-run] <name>...
git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]
TODO
git remote
コマンドのオプションの詳細説明