[解決済み】gitリポジトリから1つのファイルだけをスパースにチェックアウトする方法は?
質問
git リポジトリから 1 つのファイルだけをチェックアウトするにはどうすればよいですか?
解決方法は?
もともとは、2012年に
git archive
(参照
ジャレド・フォーサイス
's
回答
と
ロバート・ナイト
's
回答
を使用します)。
git1.7.9.5 (2012年3月)
,
ポール・ブラナン
's
回答
:
git archive --format=tar --remote=origin HEAD:path/to/directory -- filename | tar -O -xf -
しかし:2013年、それはもう不可能になった
リモートhttps://github.com URLの場合
.
旧ページの"をご覧ください。
リポジトリをアーカイブすることはできますか?
"
現在(2018年)のページ " GitHubでのコンテンツやデータのアーカイブ化について のようなサードパーティサービスを利用することを推奨しています。 GHTorrent または GHアーカイブ .
ローカルコピー/クローンも扱えるということですね。
で述べたように、ベアリポジトリのローカルコピーを持っている場合、代わりに次のようにすることもできます。 この回答 ,
git --no-pager --git-dir /path/to/bar/repo.git show branch:path/to/file >file
あるいは、最初にレポをクローンする必要があり、つまり全履歴を取得することになります。 - .gitレポに - を作業ツリーに追加してください。
-
しかし、その後
を行うことができます。
スパースチェックアウト
(Git1.7+を使用している場合)、。
-
スパースチェックアウトオプションを有効にする (
git config core.sparsecheckout true
) -
に表示させたいものを追加します。
.git/info/sparse-checkout
ファイル - 作業ツリーを再読込し、必要なものだけを表示させる
-
スパースチェックアウトオプションを有効にする (
作業ツリーを再読込する場合。
$ git read-tree -m -u HEAD
そうすれば、最終的に、正確に欲しいものを含む作業ツリー(たとえそれが1つのファイルであっても)が完成します。
リチャード・ゴメス ポイント ( コメント欄 )から"まで。 git リポジトリから単一のディレクトリまたはディレクトリのリストをクローン、フェッチ、またはスパースチェックアウトするにはどうすればよいですか? "
<ブロッククオートヒストリーのダウンロードを回避し、単一のブランチを取得し、必要なファイルやディレクトリのリストを取得するbash関数です。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】Git リポジトリに空のディレクトリを追加するには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ローカルにない作業がリモートに含まれているため、アップデートが拒否された
-
[解決済み】未マージファイルがあるため、Gitマージができない
-
[解決済み】git push >> fatal: 設定されたプッシュ先がありません。
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
[解決済み] git stashを元に戻す
-
[解決済み] Gitで1つのファイルの作業コピーの変更を元に戻す?
-
[解決済み] Git リポジトリのサブディレクトリのみをクローンする方法を教えてください。
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み】別のブランチから1つのファイルだけを取得する方法は?
-
[解決済み】最初にリポジトリ全体をチェックアウトせずに、スパースチェックアウトを行うことは可能でしょうか?