開始gitの1.8.5(Q4 2013) 、あなたは、「しかし、ディレクトリを変更することなく、Gitのコマンドを使用」することができるようになります。
「make -C <directory>
」、「git -C <directory> ...
」のように、Gitに他のことをする前にそこに行くように指示します。
参照してください44e1e4コミットによってナズリRamliy:
現在のディレクトリを離れることなく別のディレクトリでGitコマンドを呼び出すには、さらにキーを押す必要があります。
(cd ~/foo && git status)
git --git-dir=~/foo/.git --work-tree=~/foo status
GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
(cd ../..; git grep foo)
for d in d1 d2 d3; do (cd $d && git svn rebase); done
上記の方法はスクリプトで使用できますが、コマンドラインをすばやく呼び出すには面倒です。
この新しいオプションを使用すると、より少ないキーストロークで上記を実行できます。
git -C ~/foo status
git -C ../.. grep foo
for d in d1 d2 d3; do git -C $d svn rebase; done
Gitの2.3.4(2015年3月)、およびので6a536e2をコミットすることにより、カルティクナーヤカ(KarthikNayak
)、git
「扱いますgit -C '<path>'
と」ときノーOP <path>
は空です。
' git -C ""
'はエラー " Cannot change to ''
" で失敗しましたが、シェルはcd "" 'を何もしないものとして扱います。
シェルの動作を前例として、git
-C "" 'を何もしないものとして扱うことも教えてください。
4年後、Git 2.23(2019年第3四半期)は「git -C ""
」が機能し、ディレクトリを変更しないことを文書化します
6a536e2以降、そのように動作しています(空の場合、git
" git -C '<path>'
"を何もしないものとして扱い<path>
ます、2015-03-06、Git v2.3.4)。
つまり、ドキュメントには(最終的に)次のものが含まれます。
' <path>
'は存在するが空-C ""
などの場合、現在の作業ディレクトリは変更されません。
git -C
例として、Git 2.26(2020年第1四半期)での使用を確認できます。
参照b441717コミット、9291e63コミット、5236fceコミット、10812c2コミット、62d58cdコミット、b87b02cコミット、9b92070コミット、3595d10コミット、f511bc0コミット、コミットf6041ab、f46c243コミット、99c049bコミット、3738439をコミット、7717242をコミット、b8afb90コミット(2019年12月20日)デントン劉(Denton-L
)。
(合併によりJunio C浜野- gitster
-で381e8e9コミットし、2020年2月5日)を
t1507
: 列をなして full_name()
サインオフ:Denton Liu
以前、私たちは走っていましたtest_must_fail full_name
。ただし、test_must_fail
gitコマンドでのみ使用する必要があります。
インラインfull_name()
我々は、使用できるようtest_must_fail
にgit
直接コマンド。
28fb84382b( "Introduce notation"、2009-09-10、Git v1.7.0-rc0- merge)でfull_name()
導入されたとき、このオプションはまだ利用できませんでした(44e1e4d67d( " :与えられたディレクトリで実行されるため) -Cオプション付き」、2013年9月9日、Git v1.8.5-rc0- バッチ#5に記載されているマージ))。
その結果、ヘルパー関数により、毎回手動で行う必要がなくなりました。ただし、は現在利用可能であるため、代わりにインラインで使用できます。<branch>@{upstream}
git -C
git
cd
git -C
full_name()