タグ付けされた質問 「sparse-checkout」

18
Gitリポジトリのみのサブディレクトリのクローンを作成するにはどうすればよいですか?
私のGitリポジトリには、ルートに2つのサブディレクトリがあります。 /finisht /static これがSVNに/finishtあったとき、次のように1か所で/staticチェックアウトされ、他の場所でチェックアウトされました。 svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static Gitでこれを行う方法はありますか?


21
リポジトリから単一のファイルを取得する
リモートのgitリポジトリから単一のファイルのコンテンツを取得するための(転送されるデータと使用されるディスク領域に関して)最も効率的なメカニズムは何ですか? これまでのところ、私はなんとか思いついた: git clone --no-checkout --depth 1 git@github.com:foo/bar.git && cd bar && git show HEAD:path/to/file.txt これはまだやり過ぎのようです。 リポジトリから複数のファイルを取得するのはどうですか?

9
どのようにgit reset --hardサブディレクトリをリセットするのですか?
UPDATE²:Git 2.23(2019年8月)では、これを行う新しいコマンドgit restoreがあります。承認された回答を参照してください。 更新:これはGit 1.8.3の時点でより直感的に機能します。自分の答えを参照してください。 次の使用例を想像してみてください。Git作業ツリーの特定のサブディレクトリにあるすべての変更を取り除き、他のすべてのサブディレクトリはそのまま残したいとします。 できますgit checkout .がgit checkoutです。スパースチェックアウトによって除外されたディレクトリを追加します がありますがgit reset --hard、サブディレクトリに対しては実行できません。 > git reset --hard . fatal: Cannot do hard reset with paths. 繰り返しますが、なぜgitはパスでハード/ソフトリセットを実行できないのですか? を使用して現在の状態をリバースパッチすることはできますgit diff subdir | patch -p1 -Rが、これはかなり奇妙な方法です。 この操作に適切なGitコマンドは何ですか? 以下のスクリプトは問題を示しています。How to make filesコメントの下に適切なコマンドを挿入します。現在のコマンドはa/c/ac、スパースチェックアウトによって除外されるはずのファイルを復元します。私がいることを注意していない明示的に復元したいa/aとa/b、私は「知っている」aと、以下のすべてのものを復元したいです。編集:そして私はまたb、「知っている」、または他のどのディレクトリがと同じレベルにあるかを知りませんa。 #!/bin/sh rm -rf repo; git init repo; cd repo for f in …

9
Gitのサブディレクトリをチェックアウトしますか?
Gitでリポジトリのサブディレクトリをチェックアウトすることは可能ですか? 新しいWordPressインストールをセットアップしているところを想像してみてください。プラグインとテーマのカスタマイズ用に2つの新しいディレクトリを作成します。 wordpress/wp-content/plugins/myplugins/ wordpress/wp-content/themes/mytheme/ これらのディレクトリをGit経由で維持したいと考えています。Subversionでは、trunk/myplugins/とtrunk/mytheme/ディレクトリを作成し、サブディレクトリをチェックアウトすることでこれを実現します。Gitには、単一のリポジトリーを使用して同じタスクを実行する方法がありますか? 私は、Gitにほとんど触れていない長いSVNユーザーとして、Gitパラダイムでボートを逃しているだけかもしれません。 編集: 異なるコンテンツを格納する複数のブランチは、これを処理する興味深い方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.