Git'teki bir dosyada yapılan değişiklikleri izlemeyi ve yoksaymayı nasıl durdurabilirim?


1731

Bazı .csprojdosyaları içeren bir projeyi klonladım . Yerel csprojdosyalarımın Git tarafından izlenmesine (ya da bir yama oluştururken ortaya çıkmasına) ihtiyacım yok, ama açıkça projede gerekli.

*.csprojYEREL'e ekledim .gitignore, ancak dosyalar zaten repoda.

Git durumunu yazdığımda csproj, yamaları takip etmek veya göndermek için ilgilenmediğim değişiklikleri gösterir .

Bir durum yaptığımda (veya bir yama oluşturduğumda) değişiklikleri görmemek için bu dosyaları "izlemeyi" kişisel repo'mdan nasıl kaldırabilirim (ancak onları kaynağında saklayabilirim)?

Bu durumu ele almanın doğru / kanonik bir yolu var mı?


18
Çok yararlı bir soru, ancak .csprojdosyadaki değişiklikleri neden izlemek istemeyeceğinizi merak ediyorum , bu da herhangi bir projenin çok önemli bir parçası. .csproj.userDosyada veya herhangi bir dosyada yapılan değişiklikleri .Publish.XMLtamamen izleyemediğimi anlayabiliyorum, ama neden izlemek istemeyeceğiniz konusunda .csproj
meraklıyım

7
Belki de farklı bir IDE kullanıyorlar?
Jarrett

3
İronik olarak, bu konuya geldim çünkü bir repo'dan .suo dosyalarını kaldırmak ama yerel olarak tutmak istiyorum. Posterity için .Net geliştirmesi .csproj dosyalarını repoda tutmanızı gerektirir ve projenizdeki diğer geliştiricilerin gazabını hissetmek istemiyorsanız bu değişiklikler her zaman izlenmelidir. : Hiç Emin değilseniz, bir dosya GitHub üzerinde repo gitignore bakmaktır github.com/github/gitignore/blob/master/VisualStudio.gitignore
LONGDA

1
@ Cupcake, bağlantı kurduğun soru bundan 15 gün sonra mı yazıldı? Belki aklınızda başka bir şey var mı?
stephenmurdoch

@marflar kanonik soruları en eskisi olmak zorunda değil , sadece en iyileri. Bağlantı verdiğim kişinin 20 yanıtı var, bunun sadece 5'i var.

Yanıtlar:


2129

Sadece git rm --cachedrevizyon kontrolünden kaldırmak istediğiniz dosyaların her birini çağırmak iyi olmalıdır. Yerel yok sayma kalıplarınız doğru olduğu sürece bu dosyaların git durumunun çıktısında yer aldığını görmezsiniz.

Bu çözümün dosyaları depodan kaldırdığına dikkat edin, böylece tüm geliştiricilerin dosyanın kendi yerel (revizyon kontrollü olmayan) kopyalarını tutmaları gerekir.

Git'in bu dosyalardaki değişiklikleri algılamasını önlemek için şu komutu da kullanmalısınız:

git update-index --assume-unchanged [path]

Muhtemelen ne yapmak istiyorsunuz: (aşağıdan @Ryan Taylor cevabı )

  1. Bu git'e dosya veya klasörün kendi bağımsız sürümünü istediğinizi söylemek içindir. Örneğin, üretim / hazırlama yapılandırma dosyalarının üzerine yazmak (veya silmek) istemezsiniz.

git update-index --skip-worktree <path-name>

Yanıtın tamamı bu URL'de: http://source.kohlerville.com/2009/02/untrack-files-in-git/


187
"git rm --cached <file>" çalışma havuzunda tutarken <file> 'ı sürüm denetiminden kaldıracaktır. İstediğin bu ...
Jakub Narębski

51
Ancak diğer depoyu çektiğinde, kendi * .csproj dosyası kaldırılacak mı? Çünkü dosyanın izinin kaldırılmasını istiyorsak ancak silinmemesini istiyorsak.
FMaz008

23
Bir dizindeki TÜM dosyaları kaldırmaya çalışıyorsanız, onu git ls-files ile birleştirin: git ls-files | xargs git rm --cached- bu, gerçek dosyaları silmeden belirli bir dizindeki git dizinindeki her şeyi kaldıracaktır.
Marco

129
git rm --cached -r <dir>bir klasör ve içindeki tüm dosyalar üzerinde özyinelemeli olarak çalışır.
Chris K

41
Bu, dosyanın izlenmesini durduracak, yerel olarak koruyacaktır, ancak çeken herkes için silinmesine neden olacaktır
Edward Newell

249

Bunu yaparsanız git update-index --assume-unchanged file.csproj, git file.csproj dosyasını değişiklikleri otomatik olarak denetlemez: bu her değiştirdiğinizde git durumuna gelmelerini engeller. Böylece, tüm .csproj dosyalarınızı bu şekilde işaretleyebilirsiniz - yukarı akış deposunun size gönderdiği yeni dosyaları el ile işaretlemeniz gerekir. (Bunları .gitignoreveya .git/info/excludecihazınızda varsa, oluşturduklarınız yok sayılır)

.Csproj dosyalarının tam olarak ne olduğundan emin değilim ... eğer IDE konfigürasyonları (Eclipse'nin .eclipse ve .classpath dosyalarına benzer) çizgileri boyunca bir şey varsa, o zaman sadece kaynak kontrolünde olmamalılar herşey. Öte yandan, eğer yapı sisteminin bir parçasıysa (Makefiles gibi) açıkça --- --- ve isteğe bağlı yerel değişiklikleri almanın bir yolu (örneğin bir local.csproj a la config.mk) yararlı olacaktır. : yapıyı küresel parçalara ve yerel geçersiz kılmalara bölün.


8
csproj, projenize hangi dosyaların dahil edildiğini ve diğer birkaç yapılandırmayı izleyen bir C # proje dosyasıdır, projenin çalışması için kaynak kontrollü OLMALIDIR
SparK

4
Buradaki tek doğru cevap bu! @Araqnids yanıtını yıllardır kullanıyorum ve bu sorunu çözmek için istendiği gibi çalışıyor.
NHDaly

Komut argümanındaki 'file' önekinin anlamı nedir? Neden sadece .csproj?
GreenAsJade

1
Bunun bir dosya için yapıldığını veya bunun bir repoda hangi dosyalar için yapıldığını tespit etmenin bir yolu var mı? Bunu yaptığımı unutmaktan biraz endişeliyim, daha sonra neden bu dosyanın güncellenmediğini merak ediyorum!
GreenAsJade

4
@GreenAsJade: git ls-files -vküçük harf göstergesiyle değişmediği varsayılan dosyaları gösterir (örneğin , önbelleğe alınan dosyalar için hnormal yerine H).
Amadan

238

3 seçenek var, muhtemelen # 3 istiyorsun

1. Bu işlem yerel dosyayı sizin yerinize saklar, ancak çeken herkes için siler.

git rm --cached <file-name> veya git rm -r --cached <folder-name>

2. Bu, çok sayıda dosya içeren bir klasör gibi optimizasyon içindir, örneğin muhtemelen hiç değişmeyecek SDK'ler. Git'e bu büyük klasörü her seferinde değişiklikler için kontrol etmeyi bırakmasını söyler, çünkü yerel olarak, hiçbirine sahip değildir. assume-unchanged(Çektiğinizde) endeksi dosya / klasör memba değişiklikler varsa üzerine yazılır sıfırlama ve dosya (lar) olacaktır.

git update-index --assume-unchanged <path-name>

3. Git'e dosya veya klasörün kendi bağımsız sürümünü istediğinizi söylemek içindir. Örneğin, üretim / hazırlama yapılandırma dosyalarının üzerine yazmak (veya silmek) istemezsiniz.

git update-index --skip-worktree <path-name>

Bunun git ile git update-index yayılmayacağını bilmek ve her kullanıcının bağımsız olarak çalıştırması gerekeceğini bilmek önemlidir .


8
Bu cevap en eksiksizdir - her birinin sonuçlarıyla çeşitli çözümler sunar. Üzerinde çalıştığım özel bir durumda bir yapılandırma dosyasına gömülü bir şifre var. Bir şablon dosyasını yaymak ve parolamı kopyama eklemek istiyorum. Parola içeren kopya yoksayılmalı ve üzerine yazılmamalıdır.
bmacnaughton

1
Yerel dosyamda, hangi dosyaların 'değişmeden' veya 'atla-çalışma ağacı' için geçerli olduğunu nasıl kontrol edebilirim?
Supawat Pusavanno

3
@SupawatPusavanno, daha önce değişmeden veya atla-çalışma için hangi dosyaları seçtiğinizi görmek için bu cevaba bakın stackoverflow.com/questions/42363881/… - kullanır grepvegit ls-files
Ryan Taylor

1
Çok iyi bir cevap. Ancak git, farklı bir şubeye geçmeye çalıştığımda hata veriyor: hata: "Aşağıdaki dosyalarda yaptığınız yerel değişikliklerin çıkışla üzerine yazılır ....." ve çözüm, geçiş yapmadan önce değişiklikleri saklamak ve şubeye geri dönüyorsun.
PhantomReference

@RyanTaylor: Ben ilk önce değişmedi varsayalım denedim (işe yaramadı) ve çalışma komutunu atla (işe yaramadı), git durumu ile kontrol ettiğimde dosyalar gösterilmiyor komutun çalıştığı anlamına geliyor. Ama ben it gives me error that your local changes would be overwrittende bu 2 dosyada git kökenli repo kodu tekrar çekin ne zaman doğru unracking değil demektir?
NeverGiveUp161

152

Bu iki aşamalı bir süreçtir:

  1. Dosya / klasör izlemeyi kaldırın - ancak bunları diskte tutun -

    git rm --cached 
    

    Şimdi "değişmiş" olarak değil, yine de

        untracked files in  git status -u  
    
  2. Onlara ekle .gitignore


56
Hayır, bu, dosyayı izlemeden kaldıracak, yerel olarak koruyacak, ancak çeken herkes için silinmesine neden olacaktır .
Edward Newell

1
Benim durumumda, yanlışlıkla izlenmesini istemediğim bir klasör ekledim, bu yüzden ihtiyacım olan buydu.
Sonny

4
Evet, gerçekten sorulan soruya yanlış cevap - ama muhtemelen bu soruyu arama sonuçlarında (benim gibi) bulan çoğu kişi için doğru cevap.
Andrew Spencer

95

Kabul edilen cevap hala işe yaramadı

kullandım

git rm -r - önbellekli.

git ekleyin.

git commit -m "sabitleme .gitignore"

Cevabı buradan buldum


Bu bağlantı, özellikle .gitignore
rmcsharry'deki

9
Burada 3 kez döndü, umarım bir dahaki sefere hafızaya taahhüt edebilirsiniz!
Harry Bosh

@Edward Newell'in yukarıdaki cevaptaki yorumu da burada geçerlidir: "bu, dosyayı izlemeden kaldıracak, yerel olarak koruyacak, ancak çeken herkes için silinmesine neden olacaktır ".
ToJo

46

.Gitignore unuttunuz mu?

Tüm projeye yerel olarak sahipseniz, ancak git yoksaymayı eklemeyi unuttuysanız ve şimdi bazı gereksiz dosyaları izliyorsanız, her şeyi kaldırmak için bu komutu kullanın

git rm --cached -r .

projenin kökünde olduğunuzdan emin olun.

Sonra her zamanki

Ekle

git add .

işlemek

git commit -m 'removed all and added with git ignore'

it

git push origin master

Sonuç

Umarım bu onların üzerinde değişiklik yapmak .gitignoreveya hepsini unutmak zorunda olan insanlara yardımcı olur .

  • Tüm önbelleği kaldırır
  • .Gitignore'nize bakar
  • İzlemek istediğiniz dosyaları ekler
  • Reponuza zorlar

4
Kaldırma veya ekleme hakkında konuşurken, ne zaman ve nerede olduğunu söylemeyi unutuyorsunuz. Parça listesinden kaldırılsın mı? Depodan mı? Yerel proje alanından mı? Çekme sırasında kaldırılsın mı? Taahhütte misiniz? Zorla mı? Ne yazık ki, buradaki tüm yazarların aynı sorunu var.
Gangnus

3
@Gangnus Kimsenin yapmaya çalıştığınız noktayı 'netleştirdiğini' sanmıyorum çünkü dosyanın aslında diskten veya depodan kaldırılmadığı tamamen açık. Bu cevap, komutların kronolojik sırasını belirtir. Yorumunuzun önereceği gibi gizemli veya kötü açıklanmış değil.
Anthony

@Edward Newell'in yukarıdaki cevaptaki yorumu da burada geçerlidir: "bu, dosyayı izlemeden kaldıracak, yerel olarak koruyacak, ancak çeken herkes için silinmesine neden olacaktır ".
ToJo

26

Diğer cevaplarda belirtildiği gibi, seçilen cevap yanlıştır.

Cevap Başka bir soruya da gerekli olacağını atlama-worktree olabileceğini düşündürmektedir.

git update-index --skip-worktree <file>

2
Hayır, gerçekten değil: --skip-worktreeiçin kullanılan depo dosyayı tutmak ancak onun değişiklikleri izleme durdurmak . : Cevabınız söylediği gibi geliştiriciler çünkü hiç belirli bir dosyayı dokunmamaya git'e talimatını --skip-worktree yararlıdır gerektiğini değiştirmek
Erdal G.

4
@ErdalG. Kesinlikle. Soruya göre, dosyadaki değişiklikleri göz ardı etmek istiyorlar ancak dosyayı
repoda tutuyorlar

@The_new_mr ile aynı fikirde olun --assume-unchangedve --skip-worktreebenzer bir etkiye sahip ancak amaçları tamamen farklı. Birincisi git'i belirli dosyaları kontrol etmemeye kandırmakla git performansını hızlandırmak , ikincisi ise çalışma zamanı ancak temel dosyalar için uygun olan belirli dosyalarda gelecekteki değişiklikleri göz ardı etmektir .
Victor Wong

22

Biraz zaman kazanmak için .gitignore'unuza eklediğiniz kurallar birden fazla dosya / klasörü kaldırmak için kullanılabilir.

git rm --cached app/**/*.xml

veya

git rm --cached -r app/widgets/yourfolder/

vb


Gitignore'u adım adım düzeltmek istediğiniz her durumda bu çok iyi bir çözüm nedenidir
cutiko

15

Bir dosyayı git ile izlemeyi önlemek için

git update-index --assume-unchanged [file-path]

Ve geri dönmek için kullanın

git update-index --no-assume-unchanged [file-path]

Benzer kullanımlara atıfta bulunacak bir repo https://github.com/awslabs/git-secrets


1
Ucu döndürmek hayat kurtarıcıydı, teşekkürler!
Hamman Samuel

9

Birçok kişi kullanmanızı önerir git update-index --assume-unchanged. Gerçekten de, bu iyi bir çözüm olabilir, ancak sadece kısa vadede.

Ne muhtemelen yapmak istiyorum şudur: git update-index --skip-worktree.

(Muhtemelen istemediğiniz üçüncü seçenek şudur: git rm --cachedYerel dosyanızı koruyacaktır, ancak uzak depodan kaldırılmış olarak işaretlenecektir.)

İlk iki seçenek arasındaki fark nedir?

  • assume-unchangedgeçici olarak dosyadaki değişiklikleri gizlemenize izin vermektir. Bir dosyada yapılan değişiklikleri gizlemek, dosyayı değiştirmek, ardından başka bir şubeye göz atmak istiyorsanız, no-assume-unchangedmuhtemelen stash değişikliklerini yapmanız gerekir .
  • skip-worktree Değişikliklerinizle hangi şubeyi kullanırsanız takip edeceksiniz!

Kullanım örneği assume-unchanged

Bu dosyanın değiştirilmemesi gerektiğini varsayar ve bunu yaparken daha temiz bir çıktı verir git status. Ancak başka bir şubeye check-out yaparken, bayrağı sıfırlamanız ve daha önce değişiklikler yapmanız veya saklamanız gerekir. Bu seçenek etkinken çekerseniz, çakışmaları çözmeniz gerekir ve git otomatik olarak birleştirilmez. Aslında sadece değişiklikleri gizler ( git statussize işaretli dosyaları göstermez).

Ben sadece bir süre değişiklikleri izleme durdurmak istiyorum + aynı değişiklik git commit -aile ilgili bir grup dosya ( ) taahhüt etmek istiyorum .

Kullanım örneği skip-worktree

Arkadaşlarınızın kurulumlarına göre değiştirmek zorunda olduğu parametreleri (ör. Şifreler dahil) içeren bir kurulum sınıfınız var.

  • 1: Bu sınıfın ilk sürümünü oluşturun, doldurabileceğiniz alanları doldurun ve diğerlerini boş / boş bırakın.
  • 2: Tamamlayın ve uzak sunucuya itin.
  • 3: git update-index --skip-worktree MySetupClass.java
  • 4: Yapılandırma sınıfınızı kendi parametrelerinizle güncelleyin.
  • 5: Başka bir işlev üzerinde çalışmak için geri dönün.

Yaptığınız değişiklikler branştan bağımsız olarak sizi takip edecektir. Uyarı: Arkadaşlarınız da bu sınıfı değiştirmek istiyorsa, aynı düzene sahip olmaları gerekir, aksi takdirde değişiklikleri uzak depoya gönderilir. Çekerken, dosyanın uzak sürümü kendinizin üzerine yazmalıdır.

Not: birini ya da diğerini yapın, ancak her ikisi de değil, istenmeyen yan etkilere sahip olacaksınız. Başka bir bayrak denemek istiyorsanız, önce ikinci bayrağı devre dışı bırakmalısınız.


7

Git'e yerel dosyanızdaki / klasörünüzdeki değişiklikleri izlememesini söylemek için (git durumu dosyadaki değişiklikleri algılamaz):

git update-index --skip-worktree path/to/file

Git'e yerel sürümünüzdeki değişiklikleri bir kez daha izlemesini söylemek için (değişiklikleri uygulayabilmeniz için) şunları yapın:

git update-index --no-skip-worktree path/to/file

1

bir satır cevap git update-index --assume-unchanged [path]

Merkezi repo'da ve yerel repo'da bir dosyanız olduğunda bunu kullanın. O dosyada değişiklik yapmanız gerekir, ancak merkezi repo için hazırlanmamalı / dağıtılmamalıdır. Bu dosya eklenmemelidir .gitignore. çünkü sistem yöneticileri tarafından getirilirse dosyadaki yeni değişiklikler, üst düzey geliştiricilerin tüm yerel depolar arasında dağıtılması gerekir.

En İyi Örnek: DB bağlantıları için yapılandırma dosyası . Merkezi bir depoda, bir üretim DB sunucusu değerlerine sahip tüm kullanıcı adı, parola, ana bilgisayar, bağlantı noktasına sahip olacaksınız. Ancak yerel geliştiricide, yalnızca yerel veya başka bir geliştirme DB sunucusu (ekibinizin kurduğu) kullanmalısınız. Bu durumda, yapılandırma dosyasında değişiklik yapmak istersiniz, ancak merkezi repoya bağlı olmamalısınız.

En iyi


0

Her bir dosyayı ayrı ayrı seçmek yerine, belirli bir klasördeki veya bin klasöründeki TÜM dosyaların nasıl kaldırılacağını sorduğunuzu varsayıyorum .

Bu komutu kullanabilirsiniz: Bu

git rm -r -f /<floder-name>\*

dizinin üst dizininde olduğunuzdan emin olun.
Bu komut, bin / veya build / klasörlerindeki tüm dosyaları tekrar tekrar "siler". Delete kelimesiyle, git'in bu dosyaların "silindiğini" ve bu dosyaların izlenmeyeceğini iddia edeceğini kastediyorum. Git gerçekten bu dosyaları silme modunda olacak şekilde işaretler.

.Gitignore'nuzun yaklaşan taahhütler için hazır olduğundan emin olun.
Belgeler: git rm


0

Sorun, işlem sırasından kaynaklanıyor olabilir. Önce .gitignore değiştirdiyseniz, sonra git rm --cached xxx, bu sorunla karşılaşmaya devam etmeniz gerekebilir.

Doğru çözüm :

  1. git rm - önbellek xxx
  2. .gitignore'u değiştirdi

Sipariş değişmez!

Değişiklikten sonra .gitignore yeniden yükleme!


0

Git teyelden tek bir dosyayı kaldırmaya çalıştığınızı varsayıyorum. bunun için aşağıdaki komutu tavsiye ederim.

git update-index --soz değiştirilmedi

Eski - git update-index --assume-değişmemiş .gitignore .idea / compiler.xml


0

Bir dizindeki tüm dosyalarda (belirli bir türdeki) herhangi bir değişikliği yoksaymak için, bu yaklaşımlardan bazılarını birleştirmek zorunda kaldım, aksi takdirde dosyalar daha önce mevcut değilse oluşturuldu.

Aşağıda "excludedir", değişiklikleri izlemek istemediğim dizinin adıdır.

İlk olarak, mevcut yeni dosyaları değişiklik izleme önbelleğinizden kaldırın (dosya sisteminizden kaldırmadan).

git status | grep "new file:" | cut  --complement -d " " -f1-4 | grep "^excludedir" | xargs git rm --cache

Aynı şeyi ile yapabilirsiniz modified:. yeni dosya adı için renamed:gönderi ->bitine bakmanız ve aşağıda ->açıklandığı gibi ön biti yapmanız gerekeceğinden biraz daha karmaşıktır deleted:.

deleted: yerel sistemde bulunmayan bir dosya için dizini güncelleyemeyeceğiniz için dosyalar biraz daha karmaşıktır

echo .deletedfiles >> .gitignore
git status | grep "deleted:" | cut  --complement -d " " -f1-4 | grep "^excludedir" > .deletedfiles
cat .deletedfiles | xargs -d '\n' touch
cat .deletedfiles | xargs -d '\n' git add -f
cat .deletedfiles | xargs -d '\n' git update-index --assume-unchanged
cat .deletedfiles | xargs -d '\n' rm

Yukarıdaki listedeki son komut dosyaları tekrar dosya sisteminizden kaldıracaktır, bu yüzden bunu atlamaktan çekinmeyin.

Ardından, bu dizindeki değişiklik izlemeyi engelleyin

git ls-files excludedir/ | xargs git update-index --skip-worktree
git update index --skip-worktree excludedir/

0

Bu cevapta neredeyse git komutsuz bir yaklaşım verildi :

Her yerel repo için belirli dosyaları yoksaymak için :

  1. Bir dosya oluşturun ~/.gitignore_global, örneğin touch ~/.gitignore_globalterminalinizde.
  2. git config --global core.excludesfile ~/.gitignore_globalBir kez koş .
  3. Yoksaymak istediğiniz dosya / dizin yollarını yazın ~/.gitignore_global. örneğin modules/*.H, çalışma dizininizde olduğu varsayılacaktır, yani $WORK_DIR/modules/*.H.

Tek bir yerel repo için belirli dosyaları yoksaymak için :

  1. .git/info/excludeRepo içindeki dosya için yukarıdaki üçüncü adımı uygulayın , yani yoksaymak istediğiniz dosya / dizin yollarını yazın .git/info/exclude. örneğin modules/*.C, çalışma dizininizde olduğu varsayılacaktır, yani $WORK_DIR/modules/*.C.

0

.Gitignore'u şimdiki / geleceğe uygulayın

Bu yöntem standart .gitignore davranışını uygular ve yoksayılması gereken dosyaların el ile belirtilmesini gerektirmez .

Kullanamıyorum --exclude-from=.gitignoreartık: / - İşte güncellenen bir yöntem vardır:

Genel öneri: temiz bir repo ile başlayın - her şey tamamlandı, çalışma dizininde veya dizinde bekleyen hiçbir şey yok ve yedekleyin !

#commit up-to-date .gitignore (if not already existing)
#this command must be run on each branch
git add .gitignore
git commit -m "Create .gitignore"

#apply standard git ignore behavior only to current index, not working directory (--cached)
#if this command returns nothing, ensure /.git/info/exclude AND/OR .gitignore exist
#this command must be run on each branch
git ls-files -z --ignored --exclude-standard | xargs -0 git rm --cached

#optionally add anything to the index that was previously ignored but now shouldn't be:
git add *

#commit again
#optionally use the --amend flag to merge this commit with the previous one instead of creating 2 commits.

git commit -m "re-applied modified .gitignore"

#other devs who pull after this commit is pushed will see the  newly-.gitignored files DELETED

Yeni göz ardı edilen dosyaları dalın taahhüt geçmişinden de temizlemeniz gerekiyorsa veya yeni göz ardı edilen dosyaların gelecekteki çekmelerden silinmesini istemiyorsanız, bu yanıta bakın .


-1

uzun bir süre aradıktan sonra, bunu yapmanın bir yolunu bulun. alias bir git komutu .gitconfigandroid stüdyo projesinde gibi. branch ödeme şubesinden önce yapılandırma dosyasını geri alın ve sonra atlayın check ödeme şubesinden sonra sedyerel yapılandırma için değişiklik yapılandırma dosyasını kullanın. checkoutandmodifylocalproperties = !git update-index --no-skip-worktree local.properties && git checkout local.properties && git checkout $1 && git update-index --skip-worktree local.properties && sed -i '' 's/.*sdk.dir.*/sdk.dir=\\/Users\\/run\\/Library\\/Android\\/sdk/g' local.properties && :

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.