2016-03-08 25 views
6

sürümüne göre foo ve baar iki şubesi olan bir projem var. Bu projede, database1.properties ve database1.properties yapılandırma dosyalarına sahibim, burada veri tabanı özellikleri örneğin şema adı ve şema parolası gibi. Foo şubesinde çalışırken, şema adı foo ve şifre foo olur ve ben baar şubesinde çalışırken şema adı baar ve parola baardır. Git bu özellik dosyalarının sadece yerel sistemim için olduğunu ve menşe repo'ya itilmemesini nasıl söylerim? Ben egit ve ayrıca tortoiseGit kullanıyorum.YALNIZCA dosyaları yerel olarak sürüm

+0

Belki yerel proje ... –

+0

Belki sadece git add' – Black

+1

'kişileri ekleyin Ve –

cevap

3

Tek bir dalda, seçilen dosyaların itilmesini engelleyemezsiniz.

Şube zorlandığında, tüm işlemler uzaktan kumandaya aktarılır. Eğer farklı dalda (yerele özgü) değişiklikleri (foo-local, bar-local vs) ve yerel sistemdeki bu değişikliklerin istedikleri zaman, gerçek şube birleşmeye git merge local-branch --no-commit --no-ff veya benzer komutu olabilir Çözüm olarak

(Bu irade yerel spesifik değişikliklerinizi uzaktan izleme dalına birleştirmeyin). İşiniz bittiğinde, bu değişiklikleri göz ardı edebilirsiniz (ancak bu değişiklikler her zaman yerel şubede olacaktır ve istediğiniz zaman gerçek şubeye başvurabilir). Böyle özel

for Something özel

  • baar kamu
  • boo için

    • master: -

  • 1

    Yolu 1 Rebase sürekli

    varsayalım 3 şubesi vardır:

    The 2 branches

    210 Ardından master üzerinde foo ve baar şube rebase, master dalda şey geliştirdi. Sen (1) Ödeme foo, (2), master üzerine foo Rebase (3) Ödeme baar, (4) master üzerine baar Rebase gerek, o zaman olur:

    enter image description here

    Not: zorunda Bu adımları tekrar tekrar tekrarlayın.

    Way 2-

    Birleştirme aynı 3 şubesi varsayalım.

    Ödeme foo ve masterfoo içine birleştirme:

    enter image description here

    baar dalda samething yapın ve son olarak alacak:

    enter image description here

    yöneticisinde geliştirilen bazı sonra, Bu adımları tekrar yapın ve şu şekilde olsun:

    enter image description here

    Yolu 3 - Eğer uzaktan kumanda için tüm şube itmek eğer alt modül

    yukarıdaki 2 yollarını biraz tehlikelidir. Bu yol daha karmaşıktır, alt modülü nasıl kullanacağınızı bilmeniz gerekir, ancak daha fazlasını severim. :)

    (1) Özel veri tabanı için bir veri repo hazırlayın, şube foo/baar arasında çıkış yapabilirsiniz.

    enter image description here

    enter image description here

    (2), bu gibi bir bir kap olarak bir başka normal/basit Repo hazırlayın:

    enter image description here

    enter image description here

    (3) Daha sonra eklemek Bu repo, bu repo içine bir alt modül olarak repo:

    Sen alacak

    enter image description here

    bu tamamlama sonra:

    enter image description here

    enter image description here

    (4) Yine, bir altmodülün olarak, burada test adlı kamu repo ekleyin:

    enter image description here

    enter image description here

    Şimdilik, bu test repo gelişebilir, ve diğer tarafta veri repo çıkış olursa olsun dalı.

    Not 1: Yolu iyi ayarlamayı gerektirir.

    Not 2: Altmodülü beğenmezseniz, bir klasörü kapsayıcı olarak kullanabilir, sonra bu iki repo dosyasını buna koyabilirsiniz.

    Way 4 - hayır işlemek ile Birleştirme veya (@Royal Pinto tarafından) kabak this answer gibi

    Burada TortoiseGit operasyonu göster dedim.

    enter image description here

    enter image description here

    Not: Özel veri kütüğü dosyasına aşamalı. Böylece bir sonraki taahhüt komutu onu repo'ya tabi tutacak.