2

GITの特定のブランチから特定のファイルから特定の範囲の行を取得することはすでに可能でしょうか? 私はかなり大きなプロジェクトに取り組んでおり、新しいブランチに切り替えた後にソリューション全体をリロードするのに数秒かかりますが、マスターなどから現在のファイルの履歴/バージョンを確認する必要がある場合があります。マスターに切り替えなくても可能ですか?

4

2 に答える 2

2

cat-fileコンテンツを印刷するために使用できます。

git cat-file blob feature/my-feature:./README

次に、たとえばsed行範囲を取得するために渡します。

git cat-file ... | sed -n '10,20p'
于 2016-01-29T08:12:26.893 に答える
2

特定のリビジョンの特定のファイルから特定の行のセットを取得するのはそれほど簡単ではありませんが、ファイル全体を取得するのは非常に簡単です。

$ git show rev:path

標準出力に出力します (その後、必要に応じてリダイレクトまたはフィルタリングできます)。引数は、 ( Zbynek Vyskovsky - kvr000's answer のように) フロントで使用しpathない限り、作業ツリー内のどこにいるかに関係なく、ツリーの最上位に相対的です。たとえば、ファイル dir/README の 3 つ前のバージョンを表示するには、次のようにします。./

$ git show HEAD~3:dir/README

git showにじみフィルタをバイパスすることに注意してください(むしろ、その低レベルの対応物 のようにgit cat-file)。

于 2016-01-29T08:12:39.430 に答える