Git BashがWindows 7 x64で非常に遅い


434

私は小さなプロジェクトの開発中にWindowsとUbuntuの両方でGitを使用しており、2つの間を頻繁に行き来していました。問題は、Git Bashが常に遅くなることです。

遅いと言うと、実行にcdは8〜25秒かかり、gitコマンドの実行には5〜20秒かかり、場合lsによっては最大30秒かかることもあります。言うまでもなく、これは楽しいことではなく、非生産的です。WindowsではGitが遅いのはわかっていますが、これはばかげています。

私にとって一時的に機能した1つの解決策は、(この回答で提案されているように)ネットワーク接続を無効にし、Git Bashを起動してから再接続することです。それを実行した後も数日間は高速で動作し続けることがありますが、最終的には常にパフォーマンスが低下します。msysgitディスカッショングループ、スタックオーバーフロー、msysgitの問題リストなどを何週間もオンとオフで調べましたが、機能するソリューションを見つけることができませんでした。

これまでのところ、私は試しました:

  • ウイルススキャナーの除外リストにGitおよびプロジェクトフォルダーを追加する
  • ウイルススキャナーを完全に無効にする(Kaspersky IS 2011)
  • Outlookが実行されていないことを確認する(Outlook 2007)
  • 他のすべてのアプリケーションをシャットダウンする
  • 管理者としてGit Bashを実行する
  • ネットワーク接続の無効化、Git Bashの起動、および接続の無効化の維持
  • ネットワーク接続の無効化、Git Bashの起動、接続の再有効化(たまにしか機能しない)
  • ランニング git gc
  • 上記の組み合わせ

何人かの人々がBashの補完を無効にすることに成功したことを私は読んだが、理想的にはそれをアクティブに保ちたい。msysgitのバージョンは1.7.3.1-preview20101002で、OSはWindows 7 x64です。Linuxで同じことを実行することは、予想通り、非常に高速です。私はLinuxを排他的に使用しますが、Windowsでも実行する必要があります(特定のアプリケーション、テストなど)。

誰かが同様の問題に遭遇しましたか?もしそうなら、根本的な問題は何であり、解決策は(もしあれば)何でしたか?

これはGitリポジトリだけにとどまりませんが、参考までに、私がGitを使用していたリポジトリはかなり小さく、最大で4〜50ファイルです。


1
落胆させないために、Cygwinはx64では非常に遅いので、Windows XP 32ビットで試してみてください。
ismail 2010


5
同じシステムで、それは半年前に遅くはありませんでした。彼らは何かを変えたに違いない...
トマーシュ・ザト-モニカを復活させる

2
ここにあるほぼすべてのマシンで:Kaspersky AVはgit 大幅に遅くし、Kaspersky 「無効にする」ことはできません。avp.exeは完全に終了した後も実行されます。カスペルスキーを完全に再インストールすると、通常、後者の問題が修正されます。
peterchen 2014年

2
これに関するmsysgitのwikiページを参照してください:github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so-slow
Drew Noakes

回答:


409

3つのコマンドを実行していくつかの構成オプションを設定することにより、WindowsでGitを大幅に高速化できます。

git config --global core.preloadindex true
git config --global core.fscache true
git config --global gc.auto 256

ノート:

  • core.preloadindex レイテンシを隠すためにファイルシステム操作を並行して実行します(更新:Git 2.1ではデフォルトで有効になっています)

  • core.fscache UACの問題を修正し、管理者としてGitを実行する必要がないようにしました(更新:Git for Windows 2.8ではデフォルトで有効になっています)

  • gc.auto .git /内のファイル数を最小化


私を助けませんでしたが、下記のPS1 = '$'のエクスポートを助けました。だから私には問題はターミナルラインだということを知っています。
Koshmaar

67
2017年(git 2.12)では、これらの設定はすべてデフォルトで有効になっているため、まったく役に立たない設定です。しかし、Gitはまだたわごとのようにゆっくりと動作します。
ieXcept 2017

2
Windows 10でも動作します。よくできました&この@shoelzerに感謝します!
Joe

1
ファイルを256に制限すると、問題が発生する可能性があります。また、最初の2つのオプションは、新しいバージョンのgitですでに有効になっています。
nPcomp

@sonyvizioどんな問題?
シューツァー2018年

102

BashプロンプトにGit情報が表示されていますか?もしそうなら、多分あなたはすべてのコマンドにあまりにも多くの仕事をしているのでしょうか。この理論をテストするには、Bashで次の一時的な変更を試してください。

export PS1='$'

11
問題は$(__git_ps1)...これを削除するとすべてが超高速になる
ヘンディイラワン

10
私たちの間で初心者のために、このコマンドは正確に何をしますか?「一時的」だとおっしゃっていますが、どうすればコマンドを元に戻すことができますか?
イモータルブルー

5
また、パフォーマンスの問題を修正しました。永続的に修正するC:\Program Files (x86\Git\etc\profile__git_ps1は、に追加されているif-then-elseを編集してコメント化しPS1ます。
トム・

6
現在のバージョン2.18.0では、__ git_ps1コマンドを/ etc / profileで見つけることができません。別の場所に移動しましたか?
ケイナベル2018

8
C:\ Program Files \ Git \ etc \ profile.d \ git-prompt.shに移動したようです。私はそのファイルで__git_ps1をコメントアウトしましたが、はるかに高速になりました(ただし、プロンプトでブランチ情報が失われました)
宮城

85

私のWindowsホームディレクトリはネットワーク上にあり、Git Bashコマンドが最初にそこを探しているのではないかと思いました。案の定、私がを調べたところ$PATH/h/bin最初にリストさ/hれていました。Windowsファイルサーバー上の共有/h/binは存在しませんが、どこにあるのでしょうか。
/etc/profileはそれを最初に置くエクスポートコマンドを編集してコメントアウトしました$PATH

#export PATH="$HOME/bin:$PATH"

これにより、おそらくGit Bashがネットワーク上で実行可能ファイルを探しなくなったため、コマンドの実行速度が大幅に向上しました。私/etc/profileはだったc:\Program Files (x86)\Git\etc\profile


6
同じ問題がありました。私はに変更HOME="$(cd "$HOME" ; pwd)"しましたHOME="$(cd "$USERPROFILE" ; pwd)"が、今ではすべてが非常に高速になっています。先端をありがとう。
Jon Sagara

2
私はこれのバリエーションを使用して成功しました:プロファイルで、$ HOMEを$ USERPROFILEに強制し、$ HOMEDRIVE参照を削除します。また、Git Bashショートカットのプロパティで、「開始」を%USERPROFILE%に設定します
Aidan Ryan

11
これで大部分の問題が解決しましたが、Gitでは少なくとも2.7.2以降、/ etc / profileファイルに直接エクスポートするのではなく、/ etc / profile.d / env.shにエクスポートすることがわかりました。
Jared Siirila

15
おかげで、同じ問題が発生しましたが、目的のホームディレクトリを指すHOMEという(ユーザー)環境変数を作成して修正しました。$ HOMEが存在しない場合、どうやらgit bashはデフォルトで%USERPROFILE%になります。この後、git bashは非常に高速になります。
JHH

6
有効だった唯一のオプションは、コメントで説明されている@JHHでした。HOMEというWindowsユーザー環境変数を追加し、目的のホームディレクトリを定義します。(コントロールパネル->システム->詳細システム設定->環境変数)
RenRen

45

ネットワークドライブがパフォーマンスの問題であることがわかりました。HOME遅いネットワーク共有を指していた。私はオーバーライドできませんでしたがHOMEDRIVE、それは私が見たものからの問題ではありません。

デスクトップでコンピューターを右クリックして環境変数を設定します->プロパティ->システムの詳細設定->環境変数ユーザー変数に追加セクション

HOME=%USERPROFILE%

4
これはうまくいきました。ネットワークの問題を抱えているすべての人にとって、これが本当の解決策です。設定ファイルを編集する必要はなく、必要な場所にHOMEポイントを指定するだけです。
Carlos Calla 2016

1
Env User Var HOMEを%USERPROFILE%として定義すると機能しませんでした。私はシステム変数を定義しました:HOME = C:\ Users \ myUserName
colin_froggatt

私のために働いた!ありがとう。私は@colin_froggattのようなことをしましたが、代わりにユーザー環境変数で、HOME = C:\ Users \ myUserName
..を設定します。

22

Chris Dolanの回答の拡張として、次の代替PS1設定を使用しました。〜/ .profileにコードフラグメントを追加するだけです(Windows 7ではC:/Users/USERNAME/.profile)。

fast_git_ps1 ()
{
    printf -- "$(git branch 2>/dev/null | sed -ne '/^\* / s/^\* \(.*\)/ [\1] / p')"
}

PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\u@\h \[\033[33m\w$(fast_git_ps1)\033[0m\]
$ '

これは、カラーシェルの利点と現在のブランチ名の表示(Gitリポジトリ内にある場合)を保持していますが、私のマシンでは0.75秒から0.1秒と大幅に高速です。

これは、このブログ投稿に基づいています。


すばらしい答えです。しかし、私は〜/ .bashrcで '__git_ps1()'を再定義して、空の文字列を出力することにしました。すべてのBashコマンドを高速化します。
ajukraine 2013年

私はgitの初心者です。このfast_git_ps1と元のかなり複雑な__git_ps1の違いを知りたいのですが。これはほとんどの「通常の」ケースで機能するという考えがわかりますが、何が正常で、どこで失敗するのでしょうか。
sundar-モニカを2013年

失敗するケースは知りません。以前は__git_ps1を使用していましたが、パフォーマンスの問題に気付いたので、表示された情報を抽出するためにgitの処理を減らすように工夫しました。
Wilbert 2013

2
オリジナルに__git_ps1は、ブランチ名だけでなくステータス情報が含まれています。たとえば、デタッチされたヘッド状態、git dir、ベアリポジトリ、チェリーピッキング、リベース、またはマージの途中にいる場合...これは高速になりますが、見落とす場合がありますこの追加情報、特にGit初心者向け。
Drew Noakes、2015

22

あなたの問題はネットワークベースである可能性がありますが、私はgit status2つの変更を行うことにより、ローカルコールを10倍に高速化しました(7秒以上から700ミリ秒まで)。これは、21,000個のファイルと大量の大きなバイナリファイルが含まれる700 MBのリポジトリにあります。

1つは、並列インデックスのプリロードを有効にすることです。コマンドプロンプトから:

git config core.preloadindex true
これtime git statusは7秒から2.5秒に変更されました。

更新!

以下は不要になりました。mysysgit 1.9.4現在、パッチ によりこれが修正されています
https://github.com/msysgit/git/commit/64d63240762df22e92b287b145d75a0d68a66988
ただし、次のように入力して修正を有効にする必要があります
git config core.fscache true

UACと "luafv"ドライバーも無効にしました(再起動が必要です)。これにより、Windows Vista、7、および8で、システムの場所に書き込もうとするプログラムをリダイレクトし、代わりにそれらのアクセスをユーザーディレクトリにリダイレクトするドライバーが無効になります。

これがGitのパフォーマンスにどのように影響するかについての説明は、https//code.google.com/p/msysgit/issues/detail?id = 320を参照して ください。

このドライバーを無効にするには、regeditで「開始」キーHKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/luafvを4に変更してドライバーを無効にします。次に、UACを最低の設定である「通知しない」にします。

このドライバーを無効にすると、警告が出ます(警告が出ます)場合は、システムパーティションとは別のドライブ(またはパーティション)で代替が実行されています。どうやら、ドライバーはシステムパーティション上のファイルアクセスでのみ実行されます。2台目のハードドライブがあり、Cドライブでこのレジストリ変更を実行すると、Dドライブではなく、同じ結果が表示されます。

この変更にはtime git status、2.5秒から0.7秒かかります。

また、https ://github.com/msysgit/git/pull/94およびhttps://github.com/git/git/commit/d637d1b9a8fb765a8542e69bd2e04b3e229f663bをフォローして、Windowsで速度の問題が発生しているため、現在進行中の追加作業を確認することもできます。 。


10
これは、1968年にUnixでシンプルかつエレガントな方法で解決された問題に対して、再び、イディオティックで卑劣なMicrosoftソリューションを明らかにするだけです。Microsoftの肥大化とリファクタリング/柔軟性/世界的な大胆さ?
v.oddou 2015

20
68年にgitを使用したことを覚えています。
チャーリーブラウン

2
リーナスが登場する1年前の母、@ CharlieBrown
cchamberlain

1
git 2.1でデフォルトで有効化されていますstackoverflow.com/a/24045966/4854931
Alex78191

18

Gitを完全にアンインストールし、再起動(従来のWindowsの対策)し、Gitを再インストールすることで解決したようです。また、残ったすべてのbash構成ファイル(それらは手動で作成されたもの)を一掃しました。すべてが再び速いです。

何らかの理由で再インストールができない(または望ましい)場合は、Chris Dolanの回答で参照されているPS1変数を変更してみます。その結果、特定の操作で大幅なスピードアップが実現しました。


3
再起動なしでの再インストールは機能せず、uninstall-restart-installは機能しました。ありがとう!ただし、bashがなぜ、どのように遅くなったのかを知っておくとよいでしょう。
Gauthier、

途中で再起動して再インストールしても、違いはありませんでした。
RyanW 2011

@RyanW私は私のために働いた上記の解決策を超えて助けることができないと思いますが、この問題はまだ完全に修正されていないようなので、msysgitのメンテナと連絡を取り、彼らが理解できるかどうか確認したいと思うかもしれませんこの問題の原因を調べます。
Gemini14、2011

3
どのbash構成ファイルを正確に消去しましたか?
スコット

3
これは答えの解決策ではありません。アンインストールして再インストールした設定ファイルが変更された可能性がある場合、それらの変更が答えです。あなたが再インストールが解決策であるとだけ言うならそれは間違っています。他の人がアンインストールして再インストールする可能性があり、構成ファイルは同じであり、それが誰にとっても機能しない理由です。
Carlos Calla

10

「管理者として実行」でcmd.exeを起動することにより、Windows 7 x64での遅いGit問題を解決しました。


10
質問はgit bashについて話します。
manojlds

2
管理者としてgit bashを実行できます。UACの問題を示しているように見える可能性があります
krosenvold 2013年

3
うわー、管理者としてgit bashを実行すると速度が大幅に向上します
Evil E

なぜこの回答が6票しか投票できないのかわかりません。この答えは問題を完全に解決したと思います。速度が大幅に向上しています。
vinoth10

2
@ vinoth10ええと、管理者として実行すると問題が発生します。これは多くの理由で悪い考えであり、多くの企業のユースケースではまったく選択肢ではありません。ユーザーを昇格させることでパフォーマンスの問題を解決することは恐ろしい解決策です。
JHH


6

Chris DolanとWilbertの回答で述べたように、PS1はあなたを遅くします

完全に無効にする(Dolanの提案による)か、Wilbertが提供するスクリプトを使用するのではなく、はるかに高速な「ダムPS1」を使用します。

それは使用します(git symbolic-ref -q HEAD || git rev-parse --short HEAD) 2> /dev/null

PS1='\033[33m\]\w \n\[\033[32m\]$((git symbolic-ref -q HEAD || git rev-parse -q --short HEAD) 2> /dev/null) \[\033[00m\]# '

私のCygwinでは、これはWilbertの「fast_Git_PS1」の回答よりも高速です-200ミリ秒対400ミリ秒なので、プロンプトの緩慢さを少し削ります。

それほど洗練され__git_ps1ていません。たとえば、.gitディレクトリにcdしたときにプロンプ​​トが変更されることはありませんが、通常の日常的な使用には十分で高速です。

これはGit 1.7.9(Cygwinでテストされていますが、どのプラットフォームでも動作するはずです)。


--short印刷しないオプションを使用することもできますrefs/heads/
friederbluemle 2013年

@friederbluemle、使用しているgitのバージョンは?Mine(1.7.9)は--shortこのsymbolic-refコマンドを提供していません。
sinelaw 2013年

取り外したヘッドのいずれかのGitのレポ外、そして仕事へのエラーを印刷しないように更新
sinelaw

1.8.4(msysgit)を使用しています
friederbluemle 2013年

6

また、次のGit構成を変更することで、パフォーマンスを大幅に向上させることができます。

git config --global status.submoduleSummary false

git statusWindow 7 x64で単純なコマンドを実行すると、コンピューターの実行に30秒以上かかりました。このオプションが定義された後、コマンドは即時に実行されます。

次のページで説明するようにGit独自のトレースをアクティブにすると、問題の原因を特定するのに役立ちました。これは、インストール環境によって異なる可能性があります。https//github.com/msysgit/msysgit/wiki/Diagnosing-why-Git-is-so-スロー


5

私はGit BashとGit GUIの両方で同じ問題を抱えていました。どちらのプログラムも正常に実行するために使用しますが、その後、ランダムに速度が低下してクロールし、その理由を理解できませんでした。

結局のところ、それはアバストでした。アバストによってさまざまなプログラム(作成したプログラムを含む)に奇妙なことが起きたので、一瞬無効にしたので、BashはLinuxと同じ速度で実行されるようになりました。Gitプログラムファイルフォルダー(C:\Program Files\Git)をアバスト除外リストに追加したところ、Linuxと同じ速度で実行されるようになりました。

そして、はい、ウイルス対策ソフトウェアは元の投稿の問題ではなかったと思いますが、誰かに役立つ場合に備えて、ここにここに置いておきます。


4

これらの他の回答に加えて、並列サブモジュールフェッチを使用して、複数のサブモジュールを含むプロジェクトを高速化しました(Git 2.8は2016年の初めから)。

これは、を使用しgit fetch --recurse-submodules -j8て設定できgit config --global submodule.fetchJobs 8ますが、使用したい/使用したい多くのコアを使用できます。


2

cmdからGitを使用する場合は、Git Bashから実行してみてください。cmdでは、git.exeは実際にはラッパーであり、起動するたびに正しい環境をセットアップし、その後で実際のgit.exeを起動します。やりたいことだけを行うのに必要な時間の最大2倍の時間がかかることがあります。そして、Git Bashは起動時にのみ環境をセットアップします。



2

組み合わせた回答:

  1. Wilbert's -PS1に含める情報
  2. sinelawの - (<branch_name>)または(<sha>)
# /unix/140610/using-variables-to-store-terminal-color-codes-for-ps1/140618#140618
# /unix/124407/what-color-codes-can-i-use-in-my-ps1-prompt
# \033 is the same as \e
# 0;32 is the same as 32
CYAN="$(echo -e "\e[1;36m")"
GREEN="$(echo -e "\e[32m")"
YELLOW="$(echo -e "\e[33m")"
RESET="$(echo -e "\e[0m")"

# /programming/4485059/git-bash-is-extremely-slow-in-windows-7-x64/19500237#19500237
# /programming/4485059/git-bash-is-extremely-slow-in-windows-7-x64/13476961#13476961
# /programming/39518124/check-if-directory-is-git-repository-without-having-to-cd-into-it/39518382#39518382
fast_git_ps1 ()
{
    git -C . rev-parse 2>/dev/null && echo " ($((git symbolic-ref --short -q HEAD || git rev-parse -q --short HEAD) 2> /dev/null))"
}

# you need \] at the end for colors
# Don't set \[ at the beginning or ctrl+up for history will work strangely
PS1='${GREEN}\u@\h ${YELLOW}\w${CYAN}$(fast_git_ps1)${RESET}\] $ '

結果:

frolowr @ RWAMW36650 / c / projects / elm-math-kids(マスター)$


速くはなりませんでした
keinabel 2018

私が見てしまう。このとき@keinabel core.commitGraph=trueからblogs.msdn.microsoft.com/devops/2018/06/25/...から、その他blogs.msdn.microsoft.com/devops/tag/git
rofrol

2

かなり長い間、制限付きユーザーアカウントとしてWindows 7 x64でGit for Windows(msysgit)を実行しているのと同じ問題に遭遇しました。

私がここや他の場所で読んだことから、共通のテーマは、管理者特権やUACの欠如であるようです。私のシステムではUACがオフになっているので、プログラムファイルディレクトリで何かを書き込みまたは削除しようとしているという説明は、私にとって最も理にかなっています。

いずれにせよ、zipinstallerを使用してGit 1.8のポータブルバージョンをインストールすることで問題を解決しました。zipinstallerが機能するためには、.7z配布ファイルを解凍して、ZIPファイルとして再パックする必要があったことに注意してください。そのディレクトリをシステムパスに手動で追加する必要もありました。

現在、パフォーマンスは良好です。Program Files (x86)制限付きユーザーとしての権限がないディレクトリにインストールされていますが、同じ問題が発生するようには見えません。

これは、おそらくポータブルバージョンがファイルの書き込み/削除を行う場所で少し保守的であるという事実、またはおそらく1.7から1.8へのアップグレードによるものです。理由の1つを特定するつもりはありません。Bashを含めて、これがはるかにうまく機能していると言えば十分です。


1
UACをオフにすると、問題の「大きな」部分(数秒の遅延)が解決されるようです。残りはps1ハックでした。
krosenvold 2013年

SSD、32GB RAM、クアッドコアi7を使用していて、他の回答はどれも
役に立たず

2

私の場合、それは実際にGast BashにつながるAvastアンチウイルスであり、PowerShellさえも非常に遅くなっていました。

最初にアバストを10分間無効にして、速度が向上するかどうかを確認しました。その後、Gast Bashインストールディレクトリ全体をAvastの例外として、読み取り、書き込み、実行のために追加しました。私の場合はそれでしたC:\Program Files\Git\*


このヒントを確認したいと思います。Avastからgitを除外すると、本当に速くなります。もう待たなくてもgitのステータスが表示されます。Win 7 x64
fajarhac 2017

アンチウイルスは干渉するだけです。
Alex78191 2017年

1
ありがとう、それは間違いなく素早い勝利でした!avastを10分間無効にすると、gitのパフォーマンスが即座に変化する(つまり、通常の実行時間に戻る)ことに気付きました。
Marcello Romani

この解決策は私にとってうまくいきました。McAfee + Windows 10 Ent。
-FractalSpace

1

上記のどれも私を助けることができませんでした。私のシナリオでは、問題は次のように表示されていました:

  • 任意のllコマンドが遅い(実行するのに約3秒を取っていた)されました
  • 後続のllコマンドは即座に実行されましたが、前のlsコマンドから45秒以内の場合のみです

プロセスモニターでのデバッグに関しては、すべてのコマンドの前にDNS要求があったことがわかりました。

ファイアウォール(私の場合はコモド)を無効にしてコマンドに問題を実行させるとすぐになくなります。そして、ファイアウォールが再びオンに切り替えられたときに、元に戻りません。できるだけ早い機会に、このプロセスを更新して、どのプロセスがDNS要求のブロックを実行していて、何がターゲットであったかについての詳細情報を追加します。

BR、G


llのエイリアスlogですか?そのためのDNS要求があるのは奇妙に思えます。
マイケル-クレイシャーキーは

1
llのエイリアスですls -l。そして、とにかくDNS要求をトリガーするのは奇妙です...その間、私はこの問題が再び表示されて返信に詳細が追加されるのを待っています。
ジョージ

1

私の場合、Git Bashショートカットはに設定されていましたStart in:%HOMEDRIVE%%HOMEPATH%(Git Bashを右クリックしてプロパティを選択すると、これを確認できます)。これがネットワークドライブでした。

解決策は、それを指すようにすること%HOME%です。それがない場合は、環境変数で設定できます。これで、Git Bashは非常に高速になります。


この答えはもっと投票すべきだと思います。私はこれと同じ勧告を投稿するためにここに来ましたが、あなたはすでに私を倒したのを見ました笑
Jon

0

私はgit PS1の速度低下にも問題がありましたが、長い間、それはデータベースサイズの問題(大きなリポジトリ)であると考えてgit gcいて、さまざまなトリックを試していて、あなたと同じように他の理由を探していました。しかし、私の場合、問題は次の行でした:

function ps1_gitify
{
   status=$(git status 2>/dev/null )      # <--------------------
   if [[ $status =~ "fatal: Not a git repository" ]]
   then
       echo ""
   else
       echo "$(ps1_git_branch_name)  $(ps1_git_get_sha)"
  fi
}

やってgit statusすべてのコマンド・ライン・ステータス・ラインのためには遅かったです。痛い。手で書いたものです。私がしようとしたときにそれが問題であることがわかりました

export PS1='$'

ここで一つの答えで述べたように。コマンドラインは非常に高速でした。

今私はこれを使っています:

function we_are_in_git_work_tree
{
    git rev-parse --is-inside-work-tree &> /dev/null
}

function ps1_gitify
{
    if ! we_are_in_git_work_tree
    then
    ...

Stack OverflowのPS1行から、gitの現在のブランチと色を使用して問題なく動作します。ここでも、高速なGitコマンドラインを使用します。


それで、あなたの問題はあなたが書いたスクリプトによって引き起こされたのですか?たぶん、同じ問題を検索する他のユーザーにとって、そのスクリプトが原因である可能性はそれほど高くありません...
Jolta

OPの質問を見てください。彼はチェックした多くのことを述べましたが、それでもそうではありませんでした。同じことが私にもありました。そこで、何も役に立たないときにチェックする別のことをここに追加しました。重要なのは、私が作成したこの特定のスクリプトではなく、コンセプトです。PS1を見てください。
Koshmaar

0

私の同僚は、(7)は、WindowsのGitとのトラブルを持っていたgit status checkoutし、add高速であったが、git commit年齢を取りました。

この問題の根本的な原因を突き止めようとしていますが、リポジトリを新しいフォルダに複製することで問題が解決しました。


0

多くの人が言ったように、これはstashWindowsのシェルスクリプトが原因ですが、Git 2.18.0以降、Windowsインストーラーには、はるかに高速(〜90%)の組み込みバージョンのstash- https:/の実験的機能のオプションがあり ます。 /github.com/git-for-windows/build-extra/pull/203


これはに役立ちますがstashstash具体的に言及する最初の投稿はあなたのものです。他のGit操作に影響しますか?
マイケル-クレイシャーキーはどこですか2018年

私の理解する限り、いいえ。プレビューには2つの実験的機能がstashあり、rebaseパフォーマンスを向上させるためにネイティブ実行可能ファイルを使用したり使用したりできますが、プレビューに何かがあると、小さな副作用が発生する可能性が常にあります。
bergmeister

1
PSこの機能はv 2.19.1でプレビューできなくなりました。そのため、オプションはもう利用できません
bergmeister
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.