“Windows Komut İstemindeki Git ve isteğe bağlı Unix araçlarını kullanma” seçeneği tehlikeli midir?


10

Git'i kurarken, tüm msys * nix araçlarını PATH'nize ekleme seçeneği sunar, ancak şunu uyarır:

Uyarı: Bu, "find" ve "sort" gibi Windows araçlarını geçersiz kılar. Bu seçeneği yalnızca sonuçları anlıyorsanız kullanın.

Benim sorularım:

  • Tam olarak hangi araçlar ile çelişir?
  • Önemli mi? Sistem tarafından yaygın olarak kullanılıyorlar mı? (Onları kişisel olarak hiç kullanmadım.)
  • Çatışmaları önlemek için PATH içindeki dizinlerin sırasını değiştirebilir miyim?
  • 2. seçeneğin yaptığı şey bu mu? ("Windows Komut İsteminde Git'i kullanın - Bu seçenek yalnızca bazı Git paketleyicileri eklediği için güvenli kabul edilir")

Yanıtlar:


4

Diğer cevapların genel analizine katılıyorum ve ayrıca ne tür çatışmalar yaşayabileceğinizi tam olarak tahmin edemiyorum. Üçüncü seçeneği seçtiğim için kendimi kötü bir şey farketmediğimi biliyorum. Ancak, 2018'den beri seçeneklerin gerçekte ne yaptığını biraz ekleyebilirim.

Bu seçenekler de dahil olmak üzere ekibime git'e nasıl geçiş önereceğime karar verirken çeşitli kurulum yapılandırmaları ile denemeler yaptım. Bu aslında, Windows v2.19.1 için git başından itibaren kurulumun yoluma gittiğini gözlemlediğim şeydi.

PATH'i ayarlamak için Git For Windows kurulum seçeneklerinin ekran görüntüsü

Sadece Git Bash’deki Git’i kullanın.

Belirtildiği gibi, sisteminizin yolunda herhangi bir değişiklik yapılmaz. git statusWindows komut isteminde bir basit girildiğinde, cmd.exe, ile başarısız olur 'git' is not recognized as an internal or external command, operable program or batch file.

Git Windows Komut İsteminden Kullan

Çatışmaları önlemek için PATH içindeki dizinlerin sırasını değiştirebilir miyim?

2. seçeneğin yaptığı şey bu mu? ("Windows Komut İsteminde Git'i kullanın - Bu seçenek yalnızca bazı Git paketleyicileri eklediği için güvenli kabul edilir")

Siparişi değiştirmek sizin için her zaman bir seçenektir, fakat hayır, ikinci seçeneğin sipariş ile ilgisi yok gibi görünüyor. (Yol eklemeleri ne olursa olsun yolun sonuna gidiyor gibi görünüyor. Bir noktada bu değişikliğin biraz şüpheliyim.) Bu, yola hangi dizinlerin eklendiği ve ikinci ve üçüncü seçenekler arasında farklı olan bir soru.

PATH'nize "minimal" Git sarmalayıcıları ekleyeceğini söylediğinde, gerçekte göründüğü gibi cmd, (gelen) kurulumunun klasörünü yola eklemektir . Sonunda takımıma önerdiğim seçenek bu. Şimdi C:\Program Files\Git\cmdyollarımızda var.

Rehberde ne var cmd? Benim için sadece altı dosya:

  • git.exe
  • Git-GUI.exe
  • gitk.exe
  • Git-lfs.exe
  • start-ssh-agent.cmd
  • start-ssh-pageant.cmd

Anaksunaman'ın cevabında olduğu gibi, bunun ne zaman yeterli olacağından emin değilim. Normal komutlardan herhangi biri, git <some command>git.exe dosyasının dahil edilmesinden işe yarar.

Windows Komut İsteminde Git ve isteğe bağlı Unix araçlarını kullanın

Bu ikinci seçenek en ekleyerek içerir <Install dir>\Git\cmdekler de yoluna ve <Install dir>\Git\mingw64\binve <Install dir>\Git\usr\binyoluna. Her iki dizin de, diğer cevaplarda belirtildiği gibi bulma, sıralama ve öldürme de dahil olmak üzere önemli sayıda yürütülebilir dosyaya sahiptir.

Muhtemelen birkaç yüz öğeyi listelemek yerine, ilgili kullanıcıyı ikinci seçeneği almaya, kurulumu tamamlamaya ve bu dizinlere bir göz atmaya teşvik ediyorum. Riskten memnunsanız, kendinize <Install dir>\Git\mingw64\binve <Install dir>\Git\usr\binyolunuza kendiniz eklemek, zaman makinesini geri almak ve üçüncü seçeneği seçmekle aynı olacaktır.


Varsayımlar ve bağlamlar yıllar içinde değiştiğinden, dört yıllık bir soru için "İşte 2019'dan yeni bir bakış açısı var ..." ifadesiyle yeni bir cevap başlatmak yararlı olabilir
Christopher Hostage

1
Bu hala konuyla ilgili en faydalı soru, bu yüzden ek cevaplar almanın önemli olduğunu düşünüyorum. Bir yıl daha ekledim, ancak sürüm numarasının aynı amacı yerine getireceğini düşünürdüm.
ojchase

7

Tam olarak hangi araçlar ile çelişir?

Şahsen tam bir listeden emin değilim, ancak bu StackOverflow sorusu şöyle diyor:

“Bu, bul, öldür ve sırala […] 'yı içerir. İlk 3 (ve benzerleri) ile ilgili sorun, her iki işletim sisteminde de var olmaları ve her birinde farklı işlev görmeleridir.”

Sizin tarafınızdan sık sık kullanılmayabilirler ancak Git'in sizi beklenmeyen davranışlar konusunda uyarması gerektiğini hissettiği kadar yaygındır.

Önceden, üçüncü taraf programlarında (çoğunlukla komut dosyalarında) görünme olasılıkları daha yüksektir, bu nedenle etki düzeyi büyük olasılıkla bu komutlardan herhangi birine dayanan programları ne kadar kullandığınıza bağlıdır.

2. seçeneğin yaptığı şey bu mu? ("Windows Komut İsteminde Git'i kullanın - Bu seçenek yalnızca bazı Git paketleyicileri eklediği için güvenli kabul edilir")

Temel olarak Git'i tüm yaygın Git komutlarıyla komut satırından (cmd.exe) kullanmanıza izin verir. Bu seçenek, bir Windows komut satırından komut dosyası yazmak veya el ile uygulamak isteyeceğiniz şeylerin% 99'u için tamamen güvenli ve kullanışlıdır. Bu seçeneği kullanıyorum ve kişisel olarak hiçbir sorunla karşılaşmadım.

Kurduktan sonra, grafiksel bir git arayüzüne ( Windows için GitHub Dekstop veya SourceTree gibi ) bakmak isteyebilirsiniz ve Git bash'ın da kurulumla birlikte geldiğini unutmayın.


Aslında, bazı araçları CMD'den kullanmak istiyorum ve 2. seçeneğin unix araçlarından herhangi birini kullanılabilir mi yoksa sadece git mi sağladığını merak ediyorum.
Aleksandr Dubinsky

Bildiğim kadarıyla, sadece git.
Anaksunaman

3

Tam olarak hangi araçlar ile çelişir?

Yüklemenin PATH'nizi değiştirmesine izin veririm. İstemiyorsanız PATH'ten kaldırmak kolaydır. Sonra dizinlere bakar ve çatışmaları bulmak için diff, comm, vb. Bazı karşılaştırmalar yapardım. Nerede olduğunu bilmeme rağmen, bir yerlerde belgelenmeleri gerekiyor.

Önemli mi? Sistem tarafından yaygın olarak kullanılıyorlar mı? (Onları kişisel olarak hiç kullanmadım.)

Son zamanlarda cygwin araçlarını kullanmamıştım, ancak Windows'u kullanmam gerektiğinde, genellikle PATH'imde ilk önce cygwin tools dizinini kullandım.

En büyük risk, bir program çakışan Windows komut satırı araçlarını arıyor olsaydı, yanlış programı yürütürdü. Bu şansın çok az olduğunu düşünüyorum, devam eden cmd.exe komut dosyasının son derece küçük olduğu düşünüldüğünde.

Çatışmaları önlemek için PATH içindeki dizinlerin sırasını değiştirebilir miyim?

Evet. Sadece cygwin'i veya ne giteklerse onu PATH'ın sonuna taşıyın . Sadece bazı komut dizilerinin cygwin'de düzgün çalışmayacağını unutmayın. Ayrıca, düşününce, cygwin konsolunun yolu doğru kurduğunu düşünüyorum. Cygwin kullanırken kendi yolunuzu ayarlamak da cygwin'in doğru çalışmasını sağlar.

2. seçeneğin yaptığı şey bu mu? ("Windows Komut İsteminde Git'i kullanın - Bu seçenek yalnızca bazı Git paketleyicileri eklediği için güvenli kabul edilir")

Bu, PATH'e sadece git kullanmanız gereken git komutlarını içeren bir dizin ekler gibi geliyor.


Aslında git, Cygwin yerine MSYS kullanıyor. Aradaki fark, msys'nin yerel win32 olmasıdır, cygwin ise posix kodunu uyarlamak için bir emülasyon kitaplığı kullanır.
Aleksandr Dubinsky
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.