1. ホーム
  2. git

gitレポを2台目のコンピュータに移動させる?

2023-08-05 16:14:38

質問

シンプルなローカルの git リポジトリを持つプロジェクトがあり、次のようにしたいです。 移動 このプロジェクト (フォルダなど) を別のコンピュータに移動し、今後はそこから作業したいと思います。私は古いマシンに何も残したくありません(もちろん、私の他のgitプロジェクトを除いて)。私は、あたかもずっと新しいマシンから作業していたかのようにしたいのです。

単純にすべてのファイルをそのコンピューターに移動することができますか、それともキーに問題があるのでしょうか。2 台のマシン間で同じキーを持つべきでしょうか。単にすべてのフォルダーを移動することができない場合、どうしたらよいでしょうか? これは複雑なようで、自分のワークフローを変えたくないので、サーバーをセットアップして使い方を学ぶような面倒なことは避けたいと思っています。

どのように解決するのですか?

あなたのケースでは、新しいコンピューターにフォルダーをコピー (コピー、scp、cp、ロボコピーなどいずれか) して、古いフォルダーを削除するのが最良の方法です。

クローンがあなたのしていることのパラダイムであるという @Pablo Santa Cruz の意見には完全に反対です。いいえ、そうではありません。あなたはレポを新しいコンピューターに移動しているのです。

なぜ私はこの目的のためにクローンが好きではないのでしょうか。

  • クローンしたリポジトリの各ブランチに対してリモートトラッキングブランチを作成します。 . あなたは引っ越しをしていて、古いレポは廃止されています。
  • リモートブランチや他の参照は完全に無視されます。
  • フックがあったとしても取得できませんし、フックがあったことを忘れてしまうかもしれません!
  • git reflog やその他の手段で "lost" のコミットなどを取得することはできません。 特にリポジトリがサーバとして動作している場合は、大きな問題ではないかもしれませんが、注意すべき点です。

git リポジトリをバックアップする方法を検索しても、git clone は上位には出てこないでしょう。ですから、レポの移動に使うべきではないのです! また、単に git clone は適切な回答にはなり得ません。 git clone には --mirror というオプションがあり、これは を保持する はレポを保存します。 git clone レポは git clone --mirror repoとは異なります(裸であることを除けば、違いはほとんど上に書いたようなものです)。私がコピーを行うのは、私が を知っているからです。 コピーされたレポで得られるもの - それは 同じ レポです!

git cloneを検討する場合。

  1. クローンを作成する際に最適化を行うため、より高速になります。
  2. 新しいマシンでは git のバージョンが異なる可能性があり、コピーすると他のバージョンではレポが使えなくなる可能性があります(最近ではあまり一般的ではありません)。しかし、実はこれはコピーのもう一つのプロと言えます。なぜなら、新しいコンピュータの git のバージョンが異なることを知らせてくれるからです。