SORU
2 Mart 2009, PAZARTESİ


nasıl sadece yerel gıt iptalleri biraz zorladı mı?

5 yerel tamamlar yoktur sanırım. Merkezi bir repo (SVN tarzı bir iş akışı kullanarak) bunlardan sadece 2 itmek istiyorum. Bunu nasıl yapabilirim?

Bu işe yaramadı:

git checkout HEAD~3  #set head to three commits ago
git push #attempt push from that head

O kadar 5 yerel tamamlar iterek sona erecek.

Sanırım ben yapabilirim git reset için aslında geri benim tamamlar, arkasından git saklayıp, sonra git push -- ama aldım commit mesajları yazılı ve dosyaları organize etmek istemem yeniden.

Benim hissettiğim bazı bayrak itme veya sıfırlamak için geçirilen çalışmak olduğunu ifade etti.

Eğer yardımı olacaksa, buraya git, benim yapılandırma

[ramanujan:~/myrepo/.git]$cat config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = ssh://server/git/myrepo.git
        fetch =  refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

CEVAP
2 Mart 2009, PAZARTESİ


Sizin tamamlar varsayarak ana dalda ve uzak ana şube için onları zorlamak mı istiyorsun:

$ git push origin master~3:master

Eğer git-svn kullanıyorsanız:

$ git svn dcommit master~3

Git-svn durumunda, aynı zamanda bir taahhüt bekliyor bu yana~3, kullanabilirsiniz. Düz git durumunda, KAFASI düzgün refspec olarak değerlendirilir değil çünkü şube adı kullanmanız gerekir.

Ayrıca uzun bir yaklaşım olabilir:

$ git checkout -b tocommit HEAD~3
$ git push origin tocommit:master

Eğer iş akışı bu tür bir alışkanlığı yapıyorsanız, ayrı bir şube işinizi yaptığınızı düşünmelisiniz. Sonra gibi bir şey yapabilirsiniz:

$ git checkout master
$ git merge working~3
$ git push origin master:master

"Kökeni usta:" muhtemelen kurulum için isteğe bağlıdır. kısım ana unutmayın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Case

    Justin Case

    3 EKİM 2011
  • Madeon

    Madeon

    31 Ocak 2010
  • Triune Films

    Triune Films

    9 ŞUBAT 2006