İşlemleri yeni bir repo almamın bir yolu var (bu sefer ilk işlem LICENSE dosyasıdır) ve yine de meta meta bilgisini sürdürüyor mu?
Evet, ekleyerek uzak ve kiraz toplama işlemek ilk üstündeki kaydedilmesini. Eğer hala önceki repo LİSANSI eklemek istiyorsanız
# add the old repo as a remote repository
git remote add oldrepo https://github.com/path/to/oldrepo
# get the old repo commits
git remote update
# examine the whole tree
git log --all --oneline --graph --decorate --abbrev-commit
# copy (cherry-pick) the commits from the old repo into your new local one
git cherry-pick sha-of-commit-one
git cherry-pick sha-of-commit-two
git cherry-pick sha-of-commit-three
# check your local repo is correct
git log
# send your new tree (repo state) to github
git push origin master
# remove the now-unneeded reference to oldrepo
git remote remove oldrepo
bu cevabın geri kalanı.
Evet. LICENSE taahhüdünü rebasing ile ilk taahhüt olarak yerleştirebilirsiniz.
Rebasing, tüm taahhüt yazarlarını ve taahhütlü tarihlerini koruyarak taahhüt sırasını yeniden düzenleme yoludur.
Paylaşılan bir repo üzerinde çalışırken, tüm ekibiniz git-akıcı olmadıkça genellikle önerilmez. Olmayanlar için, sadece havuzun yeni bir kopyasını klonlayabilirler.
LICENSE işleminizi ilk işlem olarak nasıl gerçekleştirirsiniz.
1. Update ve yerel kopyası projenizi
kontrol dışarı rebase ve geçerli 3 işlemek yığının üstüne bir taahhüt içinde LİSANS dosyasını yerleştirin.
#create LICENSE file, edit, add content, save
git add LICENSE
git commit -m 'Initial commit'
Sonra yeniden düzenlemek kaydedilmesini için ana dal üzerinde interaktif rebase yapmak. Bir düzenleyici açılacaktır. Alt çizgiyi ("İlk taahhüt" işleminiz, en son taahhütünüz) dosyanın üstüne taşıyın. Ardından editörü kaydedin ve çıkın.
Düzenleyiciden çıktığınız anda, git, belirtilenleri belirttiğiniz sıraya göre yazacaktır.
Artık deponun yerel kopyanız güncellendi. yapın:
git log
doğrulamak için.
2. Kuvvet github için itin zorlamak zorunda yeni repo devlet senin kopya güncellenmesini Şimdi
Github için itin.
git push -f origin master
Bu
yeni konumuna ana dalı taşımak için GitHub söyleyecektir. Yalnızca nadiren böyle durumlarda, zorla yapılanları, herkesle birlikte çalışan değişikliklerin farkında olduğunu, ancak işbirlikçilerinizin kafasını karıştıracağını unutmayın.
3. senkronize işbirlikçileri
Son olarak github için, tüm ortak çalışanlar bu deposuna senkronize etmek gerekir. kaydedilmemiş değişiklikler varsa aşağıdaki komutu yıkıcı olabilir olarak
İlk temiz depoları olması gerekir.
Bu kadar. Herkes şimdi senkronize olmalı.
Yine de orijinal repoya bir lisans ekleyebilirsiniz. Detaylar için https://help.github.com/articles/open-source-licensing/#how-can-i-go-back-through-my-public-repositories-and-give-them-licenses adresini ziyaret edin. – edwinksl
Olası bir kopyası [git: Başka bir repoda bir repoda işlenerek yapılan değişiklikleri uygula] (http://stackoverflow.com/questions/3816040/git-apply-changes-introduced-by-commit-in-one-repo- için-bir-repo) –