2016-03-29 15 views
0

Dosyaların zaman damgasını repo'mda nasıl ayarlayacağımı bulmaya çalışıyorum. Bir git basamında, dosyalarının son değiştirilme tarihlerinin, yükleme zamanından ziyade geçmişte olmasını istiyorum.Uzaktan Git Repo'da Dosya Zaman Damgası Nasıl Ayarlanır?

Verme tarihini manuel olarak kolayca ayarlayabilirim, ancak sadece şu anda değiştirilmiş dosyalarla uzaktaki repo'mda bir günlük işlem yaptığım anlamına gelir.

Benzer konular hakkında araştırma yapmaktan bununla ilgili sorunlar olduğunu biliyorum, ancak bu kişisel bir repo ve bunu anlamak isterim. Git, bir dosyada değiştirilen verileri nasıl çizer? İstediğimi yapmama izin verecek herhangi bir komut dosyası veya uzantı var mı?

+0

Dosyaların zaman damgası yok, git. Yalnızca işlemlerin zaman damgası var. İşte bu yüzden diğer tüm sorular ya vazgeçiyor ya da "aldıktan sonra dosyalarınıza atabileceğiniz zaman damgaları" içeren bir yardımcı dosya ekliyor (aux dosyası sadece * zaman çizelgesi * veya bu ayarı yapan bir program olabilir damga değerlerinin yanı sıra). Bu arada, torek

+0

İşte aradığınız şeyi yapan bir komut dosyası: https: //gist.github.com/jeffery/1115504 – paulsm4

+0

Git düğmesine bastığımda dosyaların son değiştirilme tarihlerinin, yükleme zamanından ziyade geçmişte olmasını istiyorum. Git, dosyalarınızın zaman damgasını umursamamaktadır. – CodeWizard

cevap

0

https://git.wiki.kernel.org/index.php/Git_FAQ#Why_isn.27t_Git_preserving_modification_time_on_files.3F

Neden dosyalar üzerinde değişiklik zamanı korunması kalk değil?

Dosyalarda değişiklik süresi, oluşturma araçlarını etkileyen bir özelliktir.
Çoğu derleme araçları, kaynak (lar) ın zaman damgasını türetilmiş dosyaların/dosyaların zaman damgasıyla karşılaştırır.

Kaynak daha yeniyse, yeniden oluşturma gerçekleşir, aksi halde hiçbir şey olmaz. Bu, yapım sürecini çok hızlandırır.

Şimdi başka bir şubeye göz atarsanız ve değişiklik zamanları korunursa ne olacağını düşünün. Zaten tamamen inşa edilmiş bir projeniz olduğunu varsayalım.

Diğer daldaki bir kaynak dosya, karşılık gelen türetilmiş dosyadan daha eski bir zaman damgasına sahipse, türetilen dosya farklı olsa bile oluşturulmayacaktır çünkü yapı sistemi yalnızca değişiklik sürelerini karşılaştırır.

En iyi ihtimalle, bir tür tuhaf ikincil hata alırsınız; ama büyük ihtimalle her şey ilk başta iyi görünecek, ama temiz bir yapıya sahip olmanızla aynı sonucu almayacaksınız. Bu durum, hangi kodu çalıştırdığınızı bilmediğiniz ve sorunun kaynağını bulmak zor olduğundan, bu durum sağlıksızdır.

Her zaman doğru kaynağı kullandığınızdan emin olmak için dalları değiştirirken temiz bir yapı oluşturmak zorunda kalacaksınız.

(Git kenarortay güvenilir bir yeniden ihtiyaç eski ve yeni revizyonları kontrol eder başka Git prosedürdür.)
Git değiştirdiği her dosya üzerinde zaman damgası olarak geçerli zamanı ayarlar ancak sadece bu. Diğer dosyalar el değmeden bırakılır; bu, oluşturma araçlarının değişiklik zamanına bağlı olabileceği ve düzgün bir şekilde yeniden yapılamayacağı anlamına gelir. Yapı kuralları değişirse, bu bir hataya neden olabilir, ancak bu, yanlışlıkla yeniden inşa edilmekten çok daha az yaygın bir sorundur.