2

ベアリポジトリがあるとします。3つのファイルが含まれています。

  • a.txt
  • b.txt
  • c.txt

b.txtここで、とがないがc.txt、ファイルの新しいバージョンがあるとしa.txtます。a.txt他のファイルを複製/プルすることなく、gitでいくつかのコマンドを使用して、リポジトリで更新するように指示することは可能ですか?「そのリポジトリで更新a.txtし、既存のファイルの変更のみを探します。」のようなものです。そうでない場合、これをサポートする他のバージョン管理システムはありますか?

アップデート:

この一例は次のとおりです。githubのようなWebサイトで、各リポジトリに多数のリポジトリと多数のファイルが含まれています。ただ、このウェブサイトでは、ユーザーは常に最新のリビジョンを見るとは限りません。表示するリビジョンを選択し、ファイルを更新したい場合もあります。この場合、ファイルの合計サイズが大きすぎます。ユーザーに常に最新のリビジョンが表示されるとは限らないことを考えると、特定のファイルの単一のリビジョンをオンデマンドで取得し、更新が追加されるたびに、更新されたファイルを追加する方がよいと思います。

4

2 に答える 2

4

Subversion は、あなたが望むことを行うことができます。Git については、同様の質問があります:サーバーで単一のファイルをプルする

于 2012-12-23T10:22:28.633 に答える
1

リポジトリのコピーがなければ、それはできません。これが git の仕組みです。リポジトリの完全なコピーに完全にアクセスせずにリポジトリに何かをしたい場合、git は適切なツールではありません。しかし、あなたのコメントから理解したように、サーバーにはリポジトリがあり、実際にすべての作業を実行したい場所です。単一のファイルだけに触れるために完全なチェックアウトを実行したくないだけです。

それが正しければ、あなたは git で「スパース チェックアウト」と呼ばれる 1.7 以降で利用可能な機能を探しています。詳細については、こちらの回答を参照してください: Git リポジトリのみのサブディレクトリをクローンするにはどうすればよいですか? (この質問はサブディレクトリに関するものでしたが、単一のファイルでもまったく同じように機能します)

于 2012-12-24T03:52:19.370 に答える