12

私は最近、取り組み始めたプロジェクトで git を紹介されたので、Scott Chacon による「Pro Git」のオンライン バージョンを読み始めるようになりました。

この本には、「リモートリポジトリ」を追加するという主題に簡単に触れているセクションがあります。Git は分散型 SCM であるため、GIT を使用する一般的な状況は、ローカル マシンでリモート リポジトリを「複製」し、ローカル コピーで作業することだと理解しています。変更が完了し、すべての変更をローカル コピーにコミットしたら、変更をリモート リポジトリに "プッシュ" して、他のユーザーも変更を表示できるようにします。

これが私の質問につながります-私が理解していることから、「git remote add」は、後で使用できる略記法としてリモートリポジトリを効果的に「追加」します。私が理解していないのはこれです - 1 つのリポジトリ URL のみを指定してクローンを作成するため、ローカル プロジェクトのディレクトリの下に複数のリポジトリ URL を追加するにはどうすればよいですか?

正確に言うと、次を使用して Apache commons-lang プロジェクトをチェックアウトしたとします。

git clone git://git.apache.org/commons-lang.git

これにより、「commons-lang」という名前のローカル ディレクトリにプロジェクト全体が GIT によってコピーされます。複製に使用した URL は 1 つだけなので、ここで「リモート追加」を行うとはどういう意味ですか? 同じプロジェクト (commons-lang) を複数のサーバーでホストできるということですか、それとも新しいリモート アドレスを追加することでローカル プロジェクト内に新しいプロジェクトを複製できるということですか?

初歩的な質問で申し訳ありません。私の事実を真っ直ぐにしようとしているだけです。ありがとう。

4

1 に答える 1

18

必要な数のアップストリーム リポジトリ アドレスを追加できますgit remote add(「Git の基本 - リモートの操作」から)。

クローンを作成すると、' ' という名前の 1 つが追加されますorigin

同じプロジェクト (commons-lang) を複数のサーバーでホストできるということですか?

はい、これは Git の分散型の性質によるものです。プッシュとプルにより、マージ ワークフローとは直交する公開ワークフローが導入されるためです。

それとも、新しいリモート アドレスを追加することで、ローカル プロジェクト内に新しいプロジェクトを複製できるのでしょうか?

いいえ。別のアップストリーム リポジトリから取得できます。

「「下流」と「上流」の定義</a>」を参照してください。

git remotes addGitHub で fork するときの 1 つの古典的なシナリオ: 「
git で master と fork をローカルでマージするにはどうすればよいですか? を参照してください。

リモート追加

  • originGitHub でフォークを複製するときに追加されます。
  • ただしgit remote add upstream https://github.com/user/reponame、ローカル クローンが元のレポを最新の状態に保つために必要です (直接寄稿することはできないため、最初に GitHub でフォークを作成する必要がありました)。
于 2012-12-09T10:57:56.077 に答える