1. ホーム
  2. git

[解決済み] Gitのローカル・リポジトリとリモート・リポジトリ -- 混同される概念

2023-07-04 17:49:32

質問

私の理解が正しければ、Gitにはローカルと呼ばれるものとリモートと呼ばれる2種類のリポジトリがあります。私の質問は、この2種類のリポジトリに関する極めて素朴なものです。

というのは正しいでしょうか?

  • Git ローカルリポジトリは、ローカルに変更を加えるもので、通常、このローカルリポジトリは私たちのコンピュータ上にあります。

  • Git リモートリポジトリは、サーバーのもので、通常、42マイル離れたところにあるマシンです。

別の質問:いくつかのチュートリアルは私にこのワークフローを示します。

  • mkdir myproject
  • cd myproject
  • git init
  • READMEにタッチ
  • git add README
  • git commit -a -m "

なるほど git init は myproject にローカルリポジトリを作成します。私が理解していないのは git commit コマンドのことです。まだリモートリポジトリを設定していない場合、Git はどのようにして私の README ファイルをコミットする場所を知ることができるでしょうか?

分かりやすかったでしょうか?

[編集] 私のGitの使い方は、他の人とは違うかもしれません。 私は、自分のコードをバックアップするためにプライベートなGitリポジトリを使っています。だから、私はリモートリポジトリが必要だと思います。この場合、ローカルリポジトリは無意味なはずです。そうでしょうか?ご説明ありがとうございます。 これらは私がどこにも返信を見つけることができない最も素朴な質問です...

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

Git は 分散型 バージョン管理システムであり、それがGitを素晴らしいものにしています。あなたのローカル・リポジトリは、他のどのGitリポジトリとも全く同じ特徴と機能性を持っています。つまり、サーバー上のGitレポはGitHub上のGitレポと同じであり(GitHubは追加機能を備えていますが、その核心はGitレポを扱っていることです)、同僚のローカルレポと同じなのです。

では、なぜそれが素晴らしいのでしょうか?仕事をするためにアクセスしなければならない中央のレポがないからです。インターネットに接続していなくても、ローカル マシンの自分のレポでコミット、ブランチ、パーティを行うことができます。そして、再び接続できるようになったら、アクセス可能な他の Git リポジトリに変更をプッシュすることができます。多くの人は特定のレポを中心的なレポ(リポジトリ)として扱いますが、それはプロセスの選択であって、Gitの要件ではありません。

すべてのポイントは、(他の人が言ったように)README をローカルリポジトリにコミットしていることを述べることでした。それから、いつでも選択したときに、ローカル レポから他のレポに変更をプッシュすることができます。これはとても素晴らしいことです。