228

git を使用したプロジェクトがあり、subversion と同じように myproject/javascript のような特定のディレクトリを複製またはプルしたいだけです。
いくつかの変更を行い、コミットして再度プッシュバックします。
それが可能だ?

4

10 に答える 10

228
  1. レポコピーの先頭に cd します
  2. git fetch
  3. git checkout HEAD path/to/your/dir/or/file

    • (3) の" " は、" "path/...を含むリポジトリ ルートのすぐ下のディレクトリから始まります。.../file

    • 「HEAD」の代わりに、特定のコミットのハッシュ コードを使用することができ、そのコミットに固有のリビジョン (ファイル) またはリビジョン (ディレクトリ) を取得することに注意してください。

于 2010-10-29T04:33:40.783 に答える
24

ディレクトリに入らずにディレクトリの最新の変更を取得したい場合は、次のようにします。

$ git -C <Path to directory> pull
于 2019-08-19T10:18:25.550 に答える
15

たぶん、このコマンドが役立つかもしれません:

git archive --remote=MyRemoteGitRepo --format=tar BranchName_or_commit  path/to/your/dir/or/file > files.tar

「ほら」

于 2012-01-05T11:09:49.547 に答える
13

不可能です。すべてのリポジトリをプルするか、何もプルしない必要があります。

于 2010-03-11T13:10:10.940 に答える
1

私が行ったように、理論的なファイル パスと例に苦労しているすべての人のために、ここに実際の例を示します。Microsoft は git ハブでドキュメントと例を提供していますが、残念ながら、このリポジトリには大量のトピックのすべての例ファイルが集められています。

https://github.com/microsoftarchive/msdn-code-gallery-community-s-z

パス内の Microsoft Dynamics js ファイルにのみ興味がありました

msdn-code-gallery-community-s-z/Sdk.Soap.js/

だから私は次のことをしました

を作成する

msdn-code-gallery-community-s-zSdkSoapjs\.git\info\sparse-checkout

ディスク上のリポジトリ フォルダー内のファイル

git sparse-checkout init

Windowsでcmdを使用してそのディレクトリに

のファイル内容

msdn-code-gallery-community-s-zSdkSoapjs\.git\info\sparse-checkout

Sdk.Soap.js/*

最後に

git pull origin master
于 2020-03-25T08:21:31.080 に答える
0

場合によっては、差分を確認するという面倒な作業をせずに、ファイルの以前のコピーを確認したいだけです。

このような場合、リポジトリのクローンを作成し、関心のある特定のコミットをチェックアウトして、そのクローンされたリポジトリのサブディレクトリを確認するのと同じくらい簡単です。すべてがローカルであるため、完了したらこのクローンを削除できます。

于 2010-03-11T17:55:47.390 に答える