değiştirmeyi taahhüt olmadan git rebase zaman
Sense zaman damgaları işlemek koruyarak git rebase
gerçekleştirmek için mi?
Sonuç yeni şube mutlaka tarihleri kronolojik olarak işlemek zorunda kalmazsınız olacağına inanıyorum. Olduğunuteorik olarakmümkün? (sıhhi tesisat komutları; sadece merak işte kullanarak) örneğin
Teorik olarak eğer mümkünse, o zaman pratikte rebase ile, zaman damgaları değiştirmek mümkün değildir?
Örneğin, aşağıdaki ağaç var varsayalım:
master <jun 2010>
|
:
:
: oldbranch <feb 1984>
: /
oldcommit <jan 1984>
master
oldbranch
ben rebase şimdi, tarihi jun 2010 Şubat 1984 değişiklikleri uygulayın. Zaman damgası değişmez işlemek, böylece bu davranışları değiştirmek mümkün müdür? Sonunda böylece edinmek istiyorum:
oldbranch <feb 1984>
/
master <jun 2010>
|
:
Bu hiç mantıklı olurdu? Hatta git içinde bir tamamlama daha yakın olan yaşlı bir ebeveyn olarak taahhüt nerede bir tarih olması mümkün mü?
CEVAP
Haziran 2014 güncelleme: 23* *in the comments söz edilen bir çözüm de ayrıntılı "Change timestamps while rebasing git branch" seçeneği --committer-date-is-author-date
kullanarak (başlangıçta Jan. tanıtılan commit 3f01ad6 2009
--committer-date-is-author-date
seçeneği yazarın damgası bırakın ve committer zaman damgası OP Olivier Verdier buydu asıl yazar, zaman damgası, aynı olacak şekilde ayarlanmış gibi görünüyor unutmayın.Son doğru tarih ile tamamlama buldum ve yaptım:
git rebase --committer-date-is-author-date SHA
git am
bkz
--committer-date-is-author-date
Varsayılan olarak, komut, e-posta iletisi olarak tamamlama yazar, tarih tarih kayıtları ve committer tarihi olarak taahhüt yaratılış zamanı kullanır.
Bu kullanıcı yazar tarih olarak aynı değeri kullanarak committer tarihi hakkında yalan sağlar.
(Orijinal cevap, Haziran 2012)
Bir dene istersenetkileşimsizrebase
git rebase --ignore-date
(bu SO answer)
Bu zikrettiği git am
geçti
--ignore-date
Varsayılan olarak, komut, e-posta iletisi olarak tamamlama yazar, tarih tarih kayıtları ve committer tarihi olarak taahhüt yaratılış zamanı kullanır.
Bu kullanıcı committer tarihi olarak aynı değeri kullanarak yazar tarihi hakkında yalan sağlar.
git rebase
, Bu seçeneği "--etkileşimli seçeneği." ile Uyumsuz olduğu için
you can change at will the timestamp of old commit date (git filter-branch
), tarih sırası suç ne olursa olsun/gerek bile set it to the future! istiyorsan Git geçmişinizi düzenleyebilirsiniz sanırım.
Olivier sorusunu bahseder gibiyazar tarihhiç bir rebase ile değiştirilir;
Pro Git Book:
- Yazarın ilk çalışması, yazan kişi
- bu committer oysa son işe başvuran kişi.
Eğer bir proje için bir yama ve üyeleri yama geçerlidir çekirdek birine gönderirseniz, ikiniz de kredi almak.
Ekstra açık olmak, Olivier yorum olarak bu durumda,:
--ignore-date
elde etmek için çalıştığım şeyin tam tersini yapar!
Yani, yazarın zaman damgası siler ve tamamlar zaman damgaları ile değiştirin!
Bu yüzden soruma doğru cevap:
git rebase
aslında değişim yazarların varsayılan olarak zaman damgaları. olmadığından bir şey yapma
Ne zaman kullanmak git rebase --Park e...
Travis-CI bir taahhüt iterek olmadan y...
Zaman aşımı gereksiz gecikme olmadan b...
Güvenli bir şekilde C zaman uyumsuz yö...
e-posta / olmadan farklı bir kullanıcı...