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
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
Nasıl sadece yerel şubelerinin listesi...
Nasıl bir yerel datetime sadece python...
Nasıl yerel şube yeniden?...
Nasıl geçerli Gıt benim şubesinden (iz...
Nasıl yerel bir git repo aslen klonlan...