İzlenmeyen içerik izlemek için nasıl Git -?
Benim asıl sorum için sağlam bir satır aşağıya bakınız.
İzlenmeyen bu benim yerel dizine bir klasör var. git status
, çalıştırdığımda alıyorum:
Changed but not updated:
modified: vendor/plugins/open_flash_chart_2 (modified content, untracked content)
Ben git add vendor/plugins/open_flash_chart_2
git status
tekrar deneyin yazarken, hala izlenmeyen diyor. Neler oluyor?
İşte son yarım saatim basit bir özeti:
Benim Github repo
vendor/plugins/open_flash_chart_2
benim eklenti değil ... takip ettiğini keşfetti. Özellikle, içerik yok ve bir gösteriyoryeşil okklasör simgesini.git submodule init
çalıştıNo submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2'
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
çalıştıvendor/plugins/open_flash_chart_2 already exists in the index
git status
modified: vendor/plugins/open_flash_chart_2 (untracked content)
Herhangi bir dosya için avlanan depo/local dizininde
.gitmodules
adında ama bir türlü bulamadım.
Ben için ne yapmam gerekiyorbenim alt modüller çalışıyorgit düzgün izleme başlayabilir?
Bu ilgisiz olabilir (yardımcı olur diye ben dahil), ama her zaman benim her zamanki yerine git commit -a
git commit -m "my comments"
bir hata atar: yazın
E325: ATTENTION
Found a swap file by the name ".git\.COMMIT-EDITMSG.swp"
dated: Thu Nov 11 19:45:05 2010
file name: c:/san/project/.git/COMMIT_EDITMSG
modified: YES
user name: San host name: San-PC
process ID: 4268
While opening file ".git\COMMIT_EDITMSG"
dated: Thu Nov 11 20:56:09 2010
NEWER than swap file!
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Github tam bir acemi olduğumu ve belgelere geçmesi için çalışıyoruz rağmen, biraz bu belirli sorunların kafam allak bullak oldu. Teşekkür ederim.
CEVAP
“” Girdi, ama hiç bir submodule olarak tanımlanmış. gitlink olarak vendor/plugins/open_flash_chart_2
eklediniz Etkili bir iç özelliği kullanıyorsunuzgit submodulekullanır (gitlink girişleri) ama submodule kendisi özelliğini kullanmıyorsunuz.
Muhtemelen böyle bir şey yaptı
git clone git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
git add vendor/plugins/open_flash_chart_2
Bu son komut sorundur. Dizin vendor/plugins/open_flash_chart_2
bağımsız Gıt bir depo olarak başlar. Genellikle bu tür alt-depoları eğer söylersen, ama görmezdengit ekleyinaçıkça bu eklemek için, o zaman dizinin içeriğini eklemek yerine alt depo için puan KAFASI işleyen gitlink bir girdi oluşturacaktır. Eğer güzel olabilirgit ekleyinbu tür oluşturmak için çöp olur “Yarı-alt modüller”.
Normal dizinleri Gıt ağaç nesneler olarak temsil edilir; ağaç nesnelerin isimlerini ve içerdikleri nesneler (genellikle diğer ağaç ve blob nesneleri—dizinleri ve dosyaları, sırasıyla) izinleri. Alt modüller “” girdileri; gitlink girişleri sadece nesne adı (karma) submodule tamamlama içerir. gitlink olarak gösterilir “Kaynak deposu .gitmodules
dosyasında belirtilen (ve submodule başlatıldı sonra .git/config
dosya) işlemek” bir gitlink.
Ne olduğu belli tamamlama, kaynak işlemek için depo Kayıt Olmadan işaret eden bir giriştir. Ya gitlink kaldırarak uygun bir submodule içine veya gitlink yapmak ve “” (düz dosyalar ve dizinler) içeriği. normal ile değiştirerek düzeltebilirsiniz
Uygun bir Submodule çevirmek
Düzgün vendor/plugins/open_flash_chart_2
bir submodule olarak tanımlamak eksik tek bit .gitmodules
bir dosyadır. Normalde zaten çıplak gitlink girdi olarak eklenmiş olsaydı da, sadece git submodule add
kullanabilirsiniz:
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
Bulunduğu gibi, bu yolu zaten endeks çalışmaz. Çözümü geçici olarak dizinden gitlink girdiyi kaldırın ve submodule ekleyin
git rm --cached vendor/plugins/open_flash_chart_2
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
Bu şuna benzer alt depo (yani yeniden klon kaynak deposu değil) ve sahne .gitmodules
varolan dosya: kullanır
[submodule "vendor/plugins/open_flash_chart_2"]
path = vendor/plugins/open_flash_chart_2
url = git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
Ayrıca .git/config
ana depoyu benzer bir giriş (path
ayarı olmadan) yapacak.
Ve uygun bir submodule olacağını taahhüt eder. Depo (ya ve oradan GitHub klon bas) clone, yeniden başlatma git submodule update --init
ile submodule gerekir.
Sade İçeriği ile değiştirin
Bir sonraki adım varsayar sub-depo vendor/plugins/open_flash_chart_2
henüz herhangi bir yerel tarih istediğin korumak (yani tüm önemsediğin, içinde bulunulan ağacın alt depo, tarih).
Eğer değer verdiğin alt depo olarak yerel tarih varsa, o zaman ikinci komut aşağıda silmeden önce .git
alt depo dizini yedekleme gerekir.(De göz önünde bulundurungıt ağacıalt depo KAFASINI tarihi koruyan aşağıda örnek).
git rm --cached vendor/plugins/open_flash_chart_2
rm -rf vendor/plugins/open_flash_chart_2/.git # BACK THIS UP FIRST unless you are sure you have no local changes in it
git add vendor/plugins/open_flash_chart_2
Dizin eklerken bu sefer, alt depo değil, dosyaları normal olarak eklenecektir. .git
dizini silinmiş olduğundan ne yazık ki, işlerin güncel bir kaynak deposu ile tutmak için süper kolay bir yolu yok.
subtree merge bir yerine düşünebilirsiniz. Böylece dosyalar “” depo (alt modüller). düz tutarken kolayca kaynak depodaki değişiklikler yapmasına izin verecek Üçüncü şahıs git subtree command alt birleştirme etrafında güzel bir sarıcı işlevi.
git rm --cached vendor/plugins/open_flash_chart_2
git commit -m'converting to subtree; please stand by'
mv vendor/plugins/open_flash_chart_2 ../ofc2.local
git subtree add --prefix=vendor/plugins/open_flash_chart_2 ../ofc2.local HEAD
#rm -rf ../ofc2.local # if HEAD was the only tip with local history
Daha sonra:
git remote add ofc2 git://github.com/korin/open_flash_chart_2_plugin.git
git subtree pull --prefix=vendor/plugins/open_flash_chart_2 ofc2 master
git subtree push --prefix=vendor/plugins/open_flash_chart_2 git@github.com:me/my_ofc2_fork.git changes_for_pull_request
gıt ağacıaynı zamanda tarihe kaynak deposu tarihini içeren önlemek sağlar ama Yukarı değişiklikleri çekin hala sağlar --squash
bir seçenek vardır.
Hizmet değişkenleri izlemek için Nasıl...
Nasıl HttpClient bir istek için İçerik...
Nasıl hiçbir içerik varsa, hatta bir D...
Nasıl AngularJS, rota değişikliği için...
Nasıl bir program aracılığıyla oluştur...