3
2
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

git で一部のディレクトリ or ファイルのみをgit pull したい時ありませんか??

Last updated at Posted at 2024-01-29

こんにちは!!最近、かなりgit を使う場面が増えてきたので、色々git に苦しみながら、try and error を重ねていってます。普段git clone する時や git pull する時って、全部のファイルをディレクトリを取得することが多いと思います。けれども、一部のファイルのみを取得したいときってありますよね??

前提

  • git アカウントをお持ちであること
  • git config の設定が完了していること
  • git init を既に実行していること

sparse-checkout の設定

sparse checkout をtrue にする

    git config core.sparseCheckout true

    # 設定が反映されているかを確認できます
    git config -l

これをすることによって、sparseCheckout の設定をローカル内で適用させることができます。今回はglobal に適用させることは目的としておらず、その作業ディレクトリのみで適用させていきます。

sparse checkout のリストを確認

    git sparse-checkout list 

現在はなにも設定していないので、何も表示されないと思います

これから、取得したいファイルの設定を行います

    # test.html を取得したい場合
    git sparse-checkout set path/to/your/sparse-checkout/test.html

    #複数ファイルを取得したい場合
    git sparse-checkout set path/to/your/sparse-checkout/test.html path/to/second/sparse-checkout/second.txt

一つのファイルのみ取得したい場合は、一つのパスとファイル名をコマンドで設定します。複数の時は複数のファイルとそのパスを設定してあげます。

設定が適用されているかを確認します

    git sparse-checkout list

    => 想定される表示(下記ファイルとそのパス)
    path/to/your/sparse-checkout/test.html
    path/to/second/sparse-checkout/second.txt

実際に pull してみるとこの二つのファイルが取得できると思います!!

まとめ

もし全部のファイルを編集しないけど、一部のファイルを編集したいとか思っている人がいれば、ぜひ使ってみてください。この例ではファイルを取得しましたが、ディレクトリでも対応可能なようです。

参考資料

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2