Git'ten klonlanan bir projeden sürüm izlemeyi nasıl kaldırabilirim?


686

Tüm sürüm izlemeyi bir projenin dizininden kaldırmak istiyorum.

Bunu yapmak için doğru yöntem nedir?

Bir kabuk komutu yapabilir miyim:

rm -rf .git

Projeler dizinimden veya Git komutu olarak bunu yapmanın bir yolu var mı?

Bu projeyi Git'i öğrenmek için kullandım ve taşınan, yeniden adlandırılan ve silinen dosyalar ile projenin başında bazı hatalar yaptığımı fark ettim. Tüm Git izlemesini kaldırmak ve yeni bir başlangıç ​​yapmak istiyorum git init.


1
Git-arşivini düşünün .
Martin / Löwis

2
Hataların ne kadar kötü olduğuna bağlı olarak, aslında her şeyin etkileşimli bir rebaseini yapmak ve erken bir ton taahhüdü birlikte ezmek isteyebilirsiniz, ancak daha yakın tarihli iyi bir tarihi kurtarın.
Cascabel

6
Windows kullanıcıları için:rd /s /q .git
Soorena

Yanıtlar:


687

Git'in bilgi için kullandığı tüm veriler saklanır .git/, bu nedenle kaldırılması gayet iyi çalışır. Elbette, çalışma kopyanızın tam olarak istediğiniz durumda olduğundan emin olun, çünkü diğer her şey kaybolacaktır. .gitklasörü gizlendiğinden Show hidden files, folders and disksseçeneği açtığınızdan emin olun .

Oradan, git inityeni bir havuz oluşturmak için koşabilirsiniz .


1
Alt klasörlerimin kendi gizli .git dizinine sahip olmadığından eminim, ancak yine de bu klasörleri github'a iterken gri ikonu alıyorum ... deneyebileceğim başka bir şey var mı?
Kokodoko

1
Ayrıca .gitconfig vardır, bu yüzden de kaldırmalısınız.
Maximilian Mordig

düşünün 'code'git rm -r - önbelleğe aldığınız_klasörünüz / amacım izlenen git klasörünü başka bir izlenen git klasörünün alt klasörüne dönüştürmekti. Alt klasörün önbelleğini kaldırıncaya kadar yeni üst öğe yeni alt öğeyi tanımaz.
Ryan Huebert

420

rm -rf .gityeterli olmalı. Bu Git ile ilgili tüm bilgileri uçuracak.


1
cannot unlink Permission deniedWindows'ta bazılarını alırsanız, explorergörev yöneticisinde işlemi öldürebilir , rm -rf .gitbundan sonra explorer'ı yeniden çalıştırabilir ve yeniden açabilirsiniz . benim için çalışıyor!
Michael

10
Eğer varsa Git Bashpencerelerde, o da çalışacaktır.
Viral

1
ne -rfdemek
nilon

13
-r"özyinelemeli" anlamına gelir, bu nedenle klasör boş olmadığı için hata yapmak yerine klasörün tüm içeriğini siler ve bir -fşeyleri silmek konusunda gerçekten emin olup olmadığınızı sormaz.
Lily Ballard

1
@Lucky_girl Tüm Git durumunu kasanızdan kaldıracak. Şube yok, tarih yok, uzaktan kumanda yok, hiçbir şey yok. Tüm bu şeyler .gitdizinde saklanır . Onsuz, artık tam anlamıyla bir git deponuz yok.
Lily Ballard

96

Aşağıdaki adımlara ek olarak, .gitignore dosyasını da kaldırmak isteyebilirsiniz.

  • Projenizdeki Git izlerini kaldırmak istiyorsanız .gitignore dosyasını kaldırmayı düşünün.

  • ** Git'i projeye yeniden dahil etmek isterseniz .gitignore dosyasını bırakmayı düşünün.

Bazı çerçeveler otomatik olarak .gitignore dosyasını oluşturabilir, böylece onu bırakmak isteyebilirsiniz.


Linux, Mac veya Unix tabanlı işletim sistemleri

Bir terminal açın ve projenizin dizinine gidin, yani - cd path_to_your_project.

Bu komutu çalıştırın:

rm -rf .git*

Bu, Git izlemeyi ve meta verileri projenizden kaldıracaktır. Meta verileri (.gitignore ve .gitkeep gibi) korumak istiyorsanız, yalnızca izlemeyi çalıştırarak silebilirsiniz rm -rf .git.


pencereler

Komut istemini kullanma

rmdirVeya rdkomut kullanmak bu yüzden, belirttiğiniz dizinindeki herhangi gizli dosyaları veya klasörleri kaldırmak / silmez delemin tüm dosyalar kaldırılır olduğunu olmasını komutu .gitklasöründe.

  1. Komut istemini açın

    1. Ya Startsonra tıklayın Runya da Windows tuşutuşa basın ve raynı anda.

    2. Yazın cmdve enter tuşuna basın

  2. Proje dizinine gidin, yani - cd path_to_your_project

  1. Bu komutları çalıştırın

    1. del /F /S /Q /A .git

    2. rmdir .git

İlk komut tüm dosya ve klasör kaldırır içinde.git klasöründe. İkincisi .gitklasörün kendisini kaldırır .

Komut istemi yok

  1. Dosya gezginini açın ve projenize gidin

  2. Gizli dosya ve klasörleri göster - görsel kılavuz için bu makaleye bakın

    1. Araç çubuğundaki görünüm menüsünde Options

    2. Bölümde, listenin altında Advanced Settingsbulun veHidden files and FoldersFiles and FoldersShow hidden files and folders

  3. Seçenekler menüsünü kapatın, klasör dahil tüm gizli klasörleri ve dosyaları görmelisiniz .git.

    Sil .gitSil klasör .gitignoredosyasını ** (bu cevabın üst tarafındaki nota bakınız)


1
rmdir .gitçalışmıyor çünkü altında klasörler var.
Dale

Dale, altındaki çizgiyi kontrol et rmdir .git. Yukarıdaki komut rmdir .git, rmdirkomut klasörün kendisini kaldırmadan önce .git klasöründeki tüm dosya ve klasörleri kaldırmak için kullanıldığını açıklar .
Matt C

1
rd /s /q .gitklasör ve içindeki her şeyi havaya uçuracak olan da yapabilirsiniz
Greg

Pencereler rmdir /S .gitiçin işi hallettik. Bunun için teşekkürler.
Eder Luis Jorge

70

Tümünü .git*el ile taşımak akıllıca bir seçim değil , özellikle de bu .gitdosyalar benim durumum gibi alt klasörlerde gizlendiğinde: besteci + git ile Skeleton Zend 2'yi yüklediğimde, oldukça fazla sayıda.git , klasörlerde ve alt klasörlerde oluşturulan dosya var klasörler.

rm -rf .gitGitHub kabuğumda denedim , ancak kabuk parametreyi tanıyamıyor-rf Remove-Item .

www.montanaflynn.me tüm dosyaları bir defada tekrar tekrar kaldırmak için aşağıdaki kabuk komutunu sunar .git! Gerçekten işe yarıyor!

find . | grep "\.git/" | xargs rm -rf

5
"Github kabuğumda 'rm -rf .git' komutunu denedim, ancak kabuk Remove-Item parametresinin '-rf' parametresini tanıyamıyor." - Çünkü rmbir PowerShell takma adı remove-item. Ve -rf* nix shell rmargümanları. PowerShell için rm -recursive -forcebunun yerine kullanın.
KFL

14
TEHLİKELİ! grep .gitdosya legit.gifadının ortasındaki "git" gibi dosyalar ile anithing eşleşir ! Lütfen cevabı kaldırın veya düzenleyin !!!
Pamatt

4
Yalnızca git dirs ile eşleşecek şekilde güncelleme: bulun. | grep "\ .git /"
Andrew

3
Hala yeterince güvenli değil: Bu, biten dosyaları ve dizinleri yakalar .git. Olmalı grep "^\.git/"; Hatta daha iyi (ve daha hızlı) ada göre filtreye olacağını findçağırma: find . -name .git.
pvgoran

Aşağıdaki komutları yürütün: find -name .git | xargs rm -rfve find -name .gitignore | xargs rm -rf.
Geliştirici Marius Žilėnas

14

Bir Linux ortamıyla çalışıyorum. Tüm Git dosyalarını ve klasörlerini özyinelemeli bir şekilde kaldırdım:

rm -rf .git

rm -rf .gitkeep

9

Windows ortamında Git izlemeyi bir proje dizininden aşağıdakini yazarak kaldırabilirsiniz.

rd .git /S/Q

7

Kök klasör çalıştırıldığında

find . | grep .git

Eşleşmeleri inceleyin ve yalnızca silmek ve uygun şekilde ayarlamak istediğiniz dosyaları içerdiğini onaylayın. Memnun kaldıktan sonra koşun

find . | grep .git | xargs rm -rf


5

Bu sorunu çözmenin en kolay yolu bir komut satırı kullanmaktır. Bu komutu yazın ve rm -R .git/Enter rm -rf .git/tuşuna basın VEYA Enter tuşuna basın ...


2

Windows Komut İstemi (cmd) Kullanıcısı:

Tek bir satır komutunu kullanarak kaynak proje klasörü içindeki '.git' öğesini yinelemeli olarak silebilirsiniz.

FOR /F "tokens=*" %G IN ('DIR /B /AD /S *.git*') DO RMDIR /S /Q "%G"
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.