Magit'te bir dosyanın geçmişini görüntülemek ister misiniz?


Yanıtlar:


116

Magit 2.1'den beri: magit-log-buffer-file(aşağıdaki yoruma göre)

Magit 2.1'den önce: magit-file-logaradığınız şey budur. Standart magit günlük görünümünde geçerli arabellekteki dosya için tüm işlemleri size gösterecektir.


9
Magit 2.1'in magit-file-logadımagit-log-buffer-file
Anton I. Sipos

9
Ne yazık ki, magit-log-buffer-fileher kaydetmenin görüntülenmesini yalnızca o dosyayla sınırlamaz.
Robin Yeşil

4
@CatalinHritcu Bu dosyayı etkileyen tüm commit'leri görüntülemede iyi çalışıyor, ancak her commit'in görüntülenmesini sadece o dosyayla sınırlamıyor.
wilkystyle

5
Şimdiye kadar bulduğum en uygun yol çağırmak magit-log-buffer-fileve sonra magit-ediff-dwimseçtiğiniz commit'i çalıştırmak (Spacemacs'de "e" kısayoluna bağlı). Bu, vurgulanan değişiklikleri içeren iki bölmeli bir pencere gösterecektir.
Juraj Martinka

1
Belirsiz Ne @ robin-yeşil ve @wilkystyle açıklayan, ancak belki de tuş vuruşlarını l, -uve lsonra yardımcı olacaktırmagit-log-buffer-file
dickmao

33

magit-statusYazarak arabelleğinizi açın M-x magit-status( C-. C-geskiden buna bağlıydım çünkü her zaman kullanıldı. Bugünlerde Spacemacs kullanıyorum yani öyle <SPC> g s)

  1. Tür l günlüğü görüntüleme seçeneği olsun
  2. Tür --seçeneği "dosyalarına Sınır" ayarlamak için (eskiden =f)
  3. Geçmişini görüntülemek istediğiniz dosya yolunu girin
  4. Tip lşimdiki şube günlüğünü görüntülemek için

Spacemacs kullanıyorsanız, şu anda ziyaret edilen dosyanın geçmişini kullanarak <SPC> g f h


1
Sanırım 2. adım şimdi --( Magit 20200112.2023, Git 2.20.1, Emacs 26.1, gnu/linux)
Liam

1
Güzel, bir noktada silinen dosyalarla da çalışır.
Günter Zöchbauer

11

*magit: <project>*Arabelleğinizde l, günlük moduna geçmek için kullanın , ardından fbir dosya adı istenmesi için düğmesine basın .


3

Bir yol bilmiyorum Ben sadece M-x vc-print-logaynı başarıya ulaşmış gibi görünen kullanıyorum . Yine de, magit ile entegre bir yol değil.


2

Eğer magit ( kullanım kılavuzu ) bu özelliği yoktur, o zaman diğer bir göz olabilir Emacs modu ve size kendi eklemek git-log-filefonksiyonu:

(defun git-log-file ()
  "Display a log of changes to the marked file(s)."
  (interactive)
  (let* ((files (git-marked-files))
         (buffer (apply #'git-run-command-buffer "*git-log*" "git-rev-list" \
"--pretty" "HEAD" "--" (git-get-filenames files))))  (with-current-buffer buffer
      ; (git-log-mode)  FIXME: implement log mode
      (goto-char (point-min))
      (setq buffer-read-only t))
    (display-buffer buffer)))

Ya da sadece şunu kullanınC-x v l
phils

Aşağıdaki mesajı alıyorum:Symbol’s function definition is void: git-marked-files
alper,

1
@alp 7 yıl sonra, bu sorun işletim sisteminin tam sürümü, tutulma ve sihirli eklenti ile kendi sorusunda daha iyi temsil edilecektir.
VonC
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.