289

作業が終わったために誰かがリモート ブランチを削除した場合、私にはわかりませんgit fetch --prune

毎回指定することなく、フェッチ/プルするときにGitにプルーンモードを強制的に使用させるための実行可能なソリューションはありますか?

4

4 に答える 4

197

git config --global fetch.prune true

すべての Git リポジトリ--pruneに対して常git fetchに次のようにします。git pull

git config --global fetch.prune true

この上記のコマンドは、グローバル Git 構成 (通常は~/.gitconfig) に次の行を追加します。git config -e --globalグローバル構成を表示するために使用します。

[fetch]
    prune = true

git config remote.origin.prune true

常に--prune1 つのリポジトリからのみ:

git config remote.origin.prune true
                 #^^^^^^
                 #replace with your repo name

上記のコマンドは、ローカルの Git 構成 (通常は.git/config) に最後の行の下に追加します。git config -eローカル構成を表示するために使用します。

[remote "origin"]
    url = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    fetch = +refs/heads/*:refs/remotes/origin/*
    prune = true

2 番目のコマンド内で使用することも、最初のコマンド内で--global代わりに使用することもできます。--local


git config --global gui.pruneDuringFetch true

あなたが使用git guiする場合は、以下にも興味があるかもしれません:

git config --global gui.pruneDuringFetch true

それは追加します:

[gui]
    pruneDuringFetch = true

参考文献

からの対応するドキュメントgit help config:

--global

  書き込みオプションの場合:~/.gitconfigリポジトリではなくグローバル ファイル.git/configに書き込み$XDG_CONFIG_HOME/git/config、このファイルが存在し、~/.gitconfigファイルが存在しない場合はファイルに書き込みます。

 

--local

  オプションを書き込む場合: リポジトリ.git/configファイルに書き込みます。これがデフォルトの動作です。

 

fetch.prune

--prunetrue の場合、fetch はコマンド ラインでオプションが指定された  かのように自動的に動作します。も参照してくださいremote.<name>.prune

 

gui.pruneDuringFetch

フェッチを実行するときにgit-guiがリモート追跡ブランチを削除する必要が  ある場合は「true」 。デフォルト値は「false」です。

 

remote.<name>.prune

  true に設定すると、デフォルトでこのリモートからフェッチすると、リモートに存在しなくなったリモート追跡参照も削除されます (--pruneオプションがコマンド ラインで指定されたかのように)。fetch.prune設定がある場合は上書きします。

于 2016-11-28T10:56:33.820 に答える