Heroku'ya konuşlandırdığım bir projem var . Kaynak kodu ağacı bir grup mp3 dosyası içerir (web sitesi yoğun bir şekilde dahil olduğum bir kayıt projesi için olacaktır).
Bunun için kaynak kodunu GitHub'a koymak istiyorum , ancak GitHub'ın ücretsiz hesaplarında 300 MB sınırı var. Bir sürü mp3 dosyasında limitimin 50 MB'ını kullanmak istemiyorum. Açıkçası, .gitignore
onları depomdan uzak tutmak için dosyaya ekleyebilirim .
Ancak kullanarak Heroku'ya konuşlandırıyorum git push heroku
. Mp3 dosyaları, dağıtılmaları için Heroku'ya gönderdiğim dalda bulunmalıdır.
İdeal olarak, .gitignore
yerel ana şubemdeki mp3 dosyalarını istiyorum, böylece GitHub'a ittiğimde mp3'ler dahil edilmez. Sonra mp3leri göz ardı etmek yerine işleyen yerel bir prodüksiyon şubesi tutacağım. Konuşlandırmak için ustayı üretimle birleştirir ve daha sonra üretim dalını Heroku'ya gönderirim.
Bunun doğru çalışmasını sağlayamıyorum.
İşte yapmaya çalıştığım şeyin bir örneği ...
$ git init git-ignore-test
$ cd git-ignore-test
$ echo "*.ignored" >> .gitignore
$ git add .gitignore && git commit -m "Ignore .ignored files"
$ touch Foo.ignored
Bu noktada, ana dalımda Foo.ignored yok sayılıyor, ancak hala mevcut, bu yüzden projem kullanabilir.
$ git checkout -b unignored
$ cat /dev/null > .gitignore
$ git add Foo.ignored .gitignore && git commit -m "Unignore .ignored files"
Şimdi istediğim gibi bu dosyaları işleyen bir şubem var. Ancak, ana şubeme geri döndüğümde, Foo.ignored gitti.
Bunu ayarlamanın daha iyi bir yolu için herhangi bir öneriniz var mı?
Düzenleme: sadece açıklığa kavuşturmak için, mp3 dosyaları her iki dalda mevcut olmasını istiyorum, böylece siteyi yerel olarak çalıştırdığımda (her iki dalı kullanarak) site çalışır. GitHub'a bastığımda dosyaların da itilmemesi için bir şubede yok sayılmasını istiyorum. Genellikle .gitignore bu tür bir şey için iyi çalışır (yani, bir uzaktan kumandaya dahil edilmeyen bir dosyanın yerel bir kopyasını tutmak), ancak dosyaları teslim edilmiş olarak şubeye geçip geri döndüğümde şubesi ile dosyaları yok sayılır, dosyalar kaybolur.