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
. .git
Dizin 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
. .git
Dizin 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_project
ve 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/.gitignore
git 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 -e
aş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ı e
veya 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 -A
ve sonra git rebase --continue
iş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 .git
dizini 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 -altr
gö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
.gitignore
git kök dizininizdeki bir dosyadır. Yok saymak istediğiniz dosyalar için ad modellerini ekleyin, dosyalar otomatik olarak yok sayılacaktır.