Git üzerinde ilk kez çalışıyorum. Şubemi github'a ittim ve tüm kitaplığı ve belgeleri github'a itti. Şimdi aynı hatayı tekrar önlemek için ne yapabilirim ve gitignore komutunu nasıl kullanabilirim.
git init. .gitDizin orada bulunmaktadır.
Git üzerinde ilk kez çalışıyorum. Şubemi github'a ittim ve tüm kitaplığı ve belgeleri github'a itti. Şimdi aynı hatayı tekrar önlemek için ne yapabilirim ve gitignore komutunu nasıl kullanabilirim.
git init. .gitDizin orada bulunmaktadır.
Yanıtlar:
Yani söylediklerinize bağlı olarak, bu dosyalar silmek istemediğiniz ama aynı zamanda göndermek istemediğiniz kitaplıklar / belgelerdir github. Eğer klasörde projesi var diyelim your_projectve doc dizini: your_project/doc.
git rm --cached doc/* .gitignore, proje klasörünün bir sağ içini yapabilirsiniz: project/.gitignore.doc/*.gitignore içindegit add project/.gitignoregit commit -m "message".github.Bir .gitignore dosyanız yoksa, önce şunu kullanın:
touch .gitignore
daha sonra gitignore dosyanıza satır eklemek için bu komut:
echo 'application/cache' >> .gitignore
Yeni satırlara dikkat edin
touchÖnce dosyaya gerek yoktur . dosya zaten mevcut değilse >>eşanlamlıdır >. echoçıktının sonuna bir satırsonu ekler. Bunu onunla durdurabilirsin -n. Çeşitli göz ardı eder ihtiyaç ya çeşitli yankılanırken veya kullanımını yaparsanız -eaşağıdaki gibi: echo -e "**/cache/\n**.pyc" >> .gitignore. Çift yıldız, klasörlere tekrar tekrar giren tüm dosyalarla eşleşir. Her /ihtimale karşı klasörlerin sonunda kullanın .
echo "file_to_be_ignored" >> .gitignore, başka bir şey yapmaya gerek yok. İle klasör adlarını End /olarak echo "**/modules/" >> .gitignore.
git ignore, git'te bir kuraldır. Bir dosyayı adına göre ayarlamak .gitignore
, o dizindeki dosyaları ve dosyanın içerdiği kalıplarla eşleşen daha derin dizinleri yok sayacaktır. En yaygın kullanım, en üst düzeyde bunun gibi bir dosyaya sahip olmaktır. Ancak, daha fazla kalıbı yok saymak veya bu dizin ve ardından daha derin olanlar için onları görmezden gelmeyi bırakmak için dizin yapınızın daha derinlerine başkalarını ekleyebilirsiniz.
Benzer şekilde, ile başlayan kalıpları belirleyerek daha derin bir yapıdaki veya belirli bir alt kümedeki bazı dosyaları "yok sayabilirsiniz" (yani, * .log'u yok sayarsınız ancak yine de önemli.log dosyasını izlemek istersiniz) !. Örneğin:
*.log !important.log
tüm günlük dosyalarını yok sayacak, ancak önemli.log adlı dosyaları izleyecek
Göz ardı etmek istediğiniz dosyaları izliyorsanız, silin, kalıbı size .gitignore dosyasına ekleyin ve tüm değişiklikleri ekleyin
# delete files that should be ignored, or untrack them with
# git rm --cached <file list or pattern>
# stage all the changes git commit
git add -A
şu andan itibaren deponuz onları takip etmeyecek.
Geçmişinizi temizlemek isterseniz şunları yapabilirsiniz:
# if you want to correct the last 10 commits
git rebase -i --preserve-merges HEAD~10
ardından her bir kaydı eveya ile işaretleyin edit. Planı kaydedin. Şimdi git, e ile işaretlediğiniz her işlemede durdurarak geçmişinizi yeniden oynatacak. Burada istemediğiniz dosyaları git add -Ave sonra git rebase --continueişiniz bitene kadar silin . Geçmişiniz temizlenecek. İş arkadaşlarınıza zorlamanız gerekeceğinden ve henüz zorlamadıkları şeyleri yeniden ödemeleri gerekeceğinden emin olun.
Git kök dizininizde adlı bir dosya var .gitignore. Bu bir dosya, komut değil. Görmezden gelmek istediğiniz dosyaların adlarını girmeniz yeterlidir ve bunlar otomatik olarak yok sayılacaktır. Örneğin, ile biten tüm emacs otomatik kaydetme dosyalarını yok saymak ~istiyorsanız, şu satırı ekleyebilirsiniz:
*~
İstenmeyen dosyaları şubenizden kaldırmak istiyorsanız git add -A, " artık çalışma ağacında olmayan dosyaları kaldıran " seçeneğini kullanabilirsiniz.
Not: "Git kök dizini" olarak adlandırdığım şey git init, ilk kez kullandığınız dizindir . Ayrıca .gitdizini bulabileceğiniz yerdir .
Bir .gitignore dosyanız yoksa. İle yeni bir tane oluşturabilirsiniz
touch .gitignore
.Gitignore dosyasına aşağıdaki komutu girerek bir klasörü hariç tutabilirsiniz.
/folderName
bu dosyayı git deponuza itin, böylece yeni bir kişi projenizi klonladığında aynı şeyi tekrar eklemek zorunda kalmaz
Gitignore git'i kullanmanın birkaç yolu vardır
sadece bir .gitignore dosyası oluşturun ve örnek bir gitignore dosyasını yok saymak istediğiniz her şeyi yazın:
# NPM packages folder.
node_modules
# Build files
dist/
# lock files
yarn.lock
package-lock.json
# Logs
logs
*.log
npm-debug.log*
# node-waf configuration
.lock-wscript
# Optional npm cache directory
.npm
# Optional REPL history
.node_repl_history
# Jest Coverage
coverage
.history/
Git dokümantasyonunda daha fazlasını bulabilirsiniz gitignore
.gitignore_global Mac'imde bu dosyayı buldum .. ana dizinimde gizliydi, bu yüzden ls -altrgörmek için a yapın.
Git'in görmezden gelmesini istediğim tutulma dosyalarını ekledim. içerik şuna benzer:
*~
.DS_Store
.project
.settings
.classpath
.metadata
.gitignoregit kök dizininizdeki bir dosyadır. Yok saymak istediğiniz dosyalar için ad modellerini ekleyin, dosyalar otomatik olarak yok sayılacaktır.