[解決済み] git ディレクトリにいないときに git pull する
質問
例えば、あるディレクトリがあるとします。
/X/Y
は、git リポジトリです。のようなコマンドをどうにかして呼び出すことは可能でしょうか?
git pull
の内部から
/X
をターゲットにしていますが
/X/Y
ディレクトリを作成しますか?
EDITです。 具体的には、ディレクトリを変更することなく、gitコマンドを使用してこれを行うことは可能でしょうか?
注意 を受け入れました。 VonCの回答 というのは、以前の選択肢よりもずっとエレガントだからです。1.8.5 より古いバージョンの Git をお使いの方は bstpierreの回答は以下の通りです。 .
解決方法は?
開始 git 1.8.5 (2013年第4四半期) を使えば、ディレクトリを変更することなく、Gitコマンドを使用することができます。
<ブロッククオート
ちょうど"のようなものです。
make -C <directory>
"です。
"
git -C <directory> ...
" は、Git にそこに行ってから何かするように指示します。
.
参照 コミット 44e1e4 によって ナズリー・ラムリー :
カレント・ディレクトリを離れずに別のディレクトリにある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
によって
Karthik Nayak (
KarthikNayak
)
,
git
は " を扱います。
git -C '<path>'
"として
の場合、ノーオープンです。
<path>
が空である場合。
'
git -C ""
' は、役に立たないことに、エラー " で死んでしまいます。Cannot change to ''
シェルは cd ""' を no-op として扱うのに対し、" は no-op です。
シェルの挙動を前例としてgit
をノー・ポップとして扱うようにします。
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 (Q1 2020)で使用されています。
参照
コミット b441717
,
コミット 9291e63
,
コミット 5236fce
,
コミット10812c2
,
コミット 62d58cd
,
コミットb87b02c
,
コミット 9b92070
,
コミット 3595d10
,
コミット f511bc0
,
コミット f6041ab
,
コミット f46c243
,
コミット 99c049b
,
コミット 3738439
,
コミット 7717242
,
コミットb8afb90
(2019年12月20日)による
デントン リュウ (
Denton-L
)
.
(によって統合されました。
ジュニオ・C・ハマノ--。
gitster
--
で
コミット 381e8e9
2020年02月05日)
t1507
: インライン
full_name()
署名: Denton Liu
以前は
test_must_fail full_name
. しかし
test_must_fail
は、gitコマンドにのみ使用する必要があります。
インライン
full_name()
を使用できるようにします。
test_must_fail
の上に
git
コマンドを直接実行します。
いつ
full_name()
に導入されました。
28fb84382b
("Introduce
<branch>@{upstream}
記法", 2009-09-10, Git v1.7.0-rc0 --。
マージ
) を使用すると
git -C
オプションはまだ利用できませんでした (このオプションが導入されたのは
44e1e4d67d
("
git
: -C オプションで指定したディレクトリで実行する", 2013-09-09, Git v1.8.5-rc0 --。
マージ
に掲載されています。
バッチ5号
)).
その結果、このヘルパー関数を使用することで、手動で
cd
を毎回実行します。しかし
git -C
が利用できるようになったので、代わりにそれを使ってインライン化すればいいのです。
full_name()
.
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】GitHubのメッセージの意味: メールのプライバシー制限のためプッシュが拒否されました。
-
[解決済み] [email protected] へのいくつかの参考文献のプッシュに失敗しました。
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] .gitignore と "以下の追跡されていない作業ツリーファイルはチェックアウトによって上書きされるでしょう"
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み】CentOS 8.x/7.x/6.x に最新バージョンの git をインストールする方法
-
[解決済み】全てのサブディレクトリに対してgit pullを実行する【重複】。
-
[解決済み] リポジトリにいない状態で Git コマンドを実行するには?
-
[解決済み] 別フォルダでgit "log "コマンドを使用する
-
[解決済み] 追跡したいファイルの外側に .git フォルダを格納することはできますか?