サーチ…


備考

この作業を行うための鍵は、リポジトリ履歴の最初から始まるバンドルを複製することから始めることです。

 git bundle create initial.bundle master
 git tag -f some_previous_tag master  # so the whole repo does not have to go each time

その最初のバンドルをリモートマシンに取得します。そして

 git clone -b master initial.bundle remote_repo_name

ローカルマシンでgitバンドルを作成し、それを別のマシンで使用する

場合によっては、ネットワーク接続のないマシンでgitリポジトリのバージョンを維持することができます。バンドルを使用すると、あるマシンのリポジトリにあるgitオブジェクトと参照をパッケージ化し、別のマシンのリポジトリにインポートすることができます。

git tag 2016_07_24
git bundle create changes_between_tags.bundle [some_previous_tag]..2016_07_24

何らかの形でchanges_between_tags.bundleファイルをリモートマシンに転送します。例えば、親指ドライブを介して。一度それを持っていれば:

git bundle verify changes_between_tags.bundle  # make sure bundle arrived intact
git checkout [some branch]       # in the repo on the remote machine
git bundle list-heads changes_between_tags.bundle # list the references in the bundle
git pull changes_between_tags.bundle [reference from the bundle, e.g. last field from the previous output]

逆も可能です。リモートリポジトリに変更を加えたら、デルタをバンドルすることができます。例えばサムドライブなどの変更をローカルリポジトリにマージして、マシン間でgitsshrsync 、またはhttpプロトコルの直接アクセスを必要とせずに同期をとることができます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow