git checkoutでワイルドカードを使用する方法はありますか?
質問
私は、次のような共通の名前の部分を持つ単一のファイルまたは一連のファイルをチェックアウトしたいのです。
git checkout myBranch */myFile.md
そして
git checkout myBranch -- */*Test*
(「--」の部分はよくわかりません)
の代わりに
git checkout myBranch src/main/java/a/deep/package/structure/myFile.md
となり
git checkout myBranch src/test/java/a/deep/package/structure/TestOne.java
git checkout myBranch src/test/java/a/deep/package/structure/TestTwo.java
git checkout myBranch src/test/java/a/deep/package/structure/resources/TestData.sql
いくつかのgitコマンドには、次のような限定的なワイルドカード機能があることは知っています。
diff
と
add
については、何も見つかりませんでした。
checkout
. 何か方法があるのでしょうか?
EDIT: 私はLinuxでgit 1.7.9.5を使用しています。gitとシェルコマンドの組み合わせで動作するものでもOKです。
どのように解決するのですか?
Git は行います。 はワイルドカードを扱います。 fnmatch(3) . を参照してください。 パス仕様 のエントリを参照してください。 Git用語集 .
しかし、git がこのワイルドカードを認識できるようにするには、ワイルドカードをエスケープしなければなりません。 シェル が最初に展開します。通常、私はシングルクォートの間にワイルドカードを使用します。
git checkout myBranch -- '*/myFile.md'
ワイルドカードはディレクトリを含む名前全体に適用されます。
ドキュメントにあるように、pathspec では
マジックシグネチャ
を指定することができます。例えば、大文字小文字を区別しないパスとして
で大文字小文字を区別しないパスができます。
(と入力することができます。
':(icase)*readme*'
と入力すると、すべてのReadmeを見つけることができます)。
Windowsで問題が発生した場合に備えて、@bambamsのコメントをここに引用します。
Windows で 2.8.1.windows.1 を使っていますが、これはうまくいきません。 cmd.exe シェルから Git を利用しているので、グロビングは組み込まれていません。しかし しかし、このような残念な状態であれば、解決策があります。組み合わせる
git diff --name-only
とxargs
を使うことで、目標を達成することができます。git diff --name-only <COMMIT> -- <GLOB>... | xargs git checkout <COMMIT>
関連
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] git に自分の好きなエディタを使わせてコミットするにはどうしたらいいですか?
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] すべてのgitサブモジュールの最新版を簡単にプルする方法
-
[解決済み] Gitで特定のタグをダウンロードする
-
[解決済み] git のコミットを削除しても、変更は維持できますか?
-
[解決済み] 以前のブランチをgit checkoutする方法はありますか?
-
[解決済み] 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 pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
Git error: cannot spawn ssh.の回避策。そのようなファイルやディレクトリはありません
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
コミットには何も追加されないが、未追跡のファイルが存在する解決策
-
なぜこのマージが必要なのかを説明するコミットメッセージを git に入力してください。
-
git push issues
-
git reports an error fatal: unable to auto-detect email address (got 'Administrator@MS-20180504MMDH.(none)')
-
[解決済み] フォルダからサブモジュールのリポジトリを作成し、そのgitコミット履歴を保持する
-
[解決済み] Gitブランチの名前をローカルとリモートで変更できますか?重複
-
[解決済み] どのブランチとマージしたいかを言わずにpullするように言われました。