SORU
31 Mayıs 2011, Salı


git Lateks iş akışı

Lateks çok uzun bir belge yazıyorum. İş Bilgisayarım ve laptopum var, ve onlar üzerinde de çalışıyorum. Tüm dosyaları iki bilgisayar arasında senkronize tutmak için ihtiyacım var, ve ayrıca bir düzeltme geçmişi tutmak istiyorum. Benim DVCS olarak gıt seçtim, ve benim sunucuda benim depo ev sahipliği yapıyorum. Ayrıca Kile Okular düzenleme yapmak için kullanıyorum. Kile entegre git bir Eklenti Yok. Ayrıca bu metin üzerinde herkes ile işbirliği içinde değilim. Ayrıca nedense benim server erişilebilir değilse codaset başka bir özel depo koymayı düşünüyorum.

Bu durumda önerilen iş akışı uygulaması nedir? Nasıl dallanma bu çalışma düzeni içinde monte edilebilir? Bir şekilde aynı dosyanın iki sürümü karşılaştırmak var mı? Ne kullanma hakkında bir zulası?

CEVAP
31 Mayıs 2011, Salı


Lateks iş akışınızı değiştirir:

Verimli gıt lateks bir iş akışı yönetmek için ilk adım Lateks alışkanlıkları için birkaç değişiklik yapmak.

  • Yeni başlayanlar için,ayrı bir hat üzerinde her cümle yazmak. Git her satırı ayrı olduğu sürüm denetimi kaynak kodu yazılmıştır ve belirli bir amacı vardır. LaTeX belgeleri yazarken, sık sık paragrafları düşünün ve serbest akan bir belge olarak yazıyorum. Ancak, git, bir paragraftaki tek bir kelime değişiklikleri tüm paragrafı bir değişiklik olarak kaydedilmiştir.

    Bir çözüm git diff --color-words (bir örnek göstermek istediğim benzer bir soru içinsee my answer) kullanmaktır. Ancak, çok az birleştirme çatışmalar sonucu buldum gibi ayrı satırlara bölme çok daha iyi bir seçenek (ben sadece buna cevap olarak geçen bu sözü) olduğunu vurgulamak istiyorum.

  • Eğer kod diff bakmak istiyorsanız, gıt doğal diff kullanın. İki keyfi tamamlar arasındaki fark (sürüm) görmek, taahhüt her shas ile yapabilirsiniz. Daha fazla ayrıntı için documentation ve de this question bkz

    Eğer bu diff bakmak istiyorsanız, diğer taraftan,çıkış biçimlendirilmişiki lateks dosyaları alır ve bu gibi pdf düzgün diffed bir çıkış (image source) üreten mükemmel bir yardımcı program (perl ile yazılmış): latexdiff kullanın

    Birleştirebilirsiniz git latexdiff (artı latexpand gerekirse) tek bir komut kullanarak git-latexdiff (örneğin git latexdiff HEAD^ görünüm diff arasında worktree ve son-ama-bir commit).

  • Eğer lateks uzun bir belge yazıyorsanız, splitting different chapters into their own files önermek ve ana dosya \include{file} komutunu kullanarak onları arardım. Bu şekilde senin için daha kolay düzenlemek için yerelleştirilmiş bir parçası işinizi ve aynı zamanda daha kolay sürüm kontrol, bildiğiniz ne gibi değişiklikler yapılması her bölüm yerine ne olduğunu anlamaya günlükler büyük bir dosya.

Gıt verimli bir şekilde kullanma

  • Dalları kullanın!. Belki de verebileceğim daha iyi bir tavsiye yok. Dalları çok yararlı" "" çalışma. farklı durumlar için metni ya da "farklı fikirleri takip etmek için buldum master şube olmalı senin ana vücut çalışması, onun en son "hazır Yayımla" devlet Yani, eğer tüm dalları, orada değil senin önüne koymak için istekli adı üzerinde, ana dal.

    Dalları da vardırson dereceeğer bir yüksek lisans öğrencisi olmanız çok yararlı. Herhangi bir lisansüstü öğrencisi tanıklık edecek gibi, danışman ile aynı fikirde değilim, en çok sayıda düzeltme olması kaçınılmaz. Yine de, beklenen olabiliren azındanzaman sonra tartışmalar sonra geri dönmüs olsa bile, onları değiştirin. Aynı zamanda kendi kalkınma şube sürdürülmesi gibi durumlarda, 9 ** yeni bir şube oluşturmak ve kendi zevkine göre değişiklik yapabilirsin. Sonra iki kiraz neye ihtiyacınız almak birleştirebilirsiniz.

  • Ayrıca farklı bir şube içine bölerek her bölümü önerirsiniz ve tek bölüm olduğunu şubesine karşılık gelen odaklanmak istiyorum. İlk commit yaptığınızda yeni bir bölüm ya da kukla bölümler oluşturduğunuzda bir şube (seçim, gerçekten) tuşlarına basın. Dürtü Şubesi değilsin zaman farklı bir bölüm (, 3) söylemek düzenlemek için direniyorlar. Eğer düzenleme gerekiyorsa, bu bir taahhüt ve ödeme dallanma önce diğeri sonra. Bazı bölüm nasıl kendi dalında bölümüne geçmişini tutar ve aynı zamanda bir bakışta size söyler, çünkü bu çok yararlı buluyorum (ağaç). Belki filtre Malzeme Bölüm 3 gerektirir verdiği için Bölüm 5... elbette, bu, tüm olasılık, gözlenen sırasında dikkatli bir okuma, ama bu benim için faydalı görmek için bir bakışta, böylece ben rahat ol varsa alıyorum sıkılmış bir bölüm.

    İşte benim dalları bir örnek ve son bir kağıt (OS X SourceTree kullanıyorum ve Linux üzerinde komut satırından gıt) birleştirir. Muhtemelen dünyanın en sık committer olmadığımı fark ne de yararlı yorumlar her zaman bırakıyorum yapacaksın, ama bu iyi alışkanlıkları takip etmemek için bir sebep değil. Ana çıkarılacak mesaj dallarında çalışan yardımcı olmasıdır. Benim düşünce, fikir ve geliştirme gelirleri olmayan doğrusal, ama ben takip edin onları üzerinden şube ve birleştirme onları ne zaman tatmin olduğumu (ben de olduğu diğer dallar olan led hiçbir yerde o vardı sonra silindi). Ayrıca "tag eğer bir şey (örneğin, bir dergi için ilk sunumlarını gözden geçirilmiş/sunumlar/etc.) demek." taahhüt edebilirim Burada, etiketli ettim "tasarının şu an olduğu yer.", version 1 Ağaç iş bir hafta değer temsil eder.

    enter image description here

  • Yapmak için bir başka yararlı bir şey belge geniş değişiklikler (\beta 10 * her yerde değiştirme gibi) kendi kendine işleyen yapmak olacaktır. Bu şekilde, döner bir değişiklik olmadan geri almak için başka bir şey ile birlikte (orada yollar kullanarak bunu yapabilirsiniz gıt, ama hey, eğer senin olabilir o zaman neden olmasın?). Aynı başlangıç eklemeler için de geçerli.

  • Uzak bir repo kullanın ve değişikliklerinizi düzenli olarak yukarı itin. Ücretsiz servis sağlayıcıları gibi github ve bitbucket (ikincisi bile oluşturmanıza olanak sağlar özel repo ile ücretsiz bir hesap), orada hiçbir neden gelmeyeyim kullanarak eğer bu yazdığını git/mercurial. En azından ikincil bir yedekleme (bir birincil bir umut!) olarak düşünün lateks dosyalarınızı ve farklı bir makinada kaldığı yerden düzenlemeye devam etmek için izin veren bir hizmet.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • HouseholdHacker

    HouseholdHac

    6 Kasım 2007
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010