Make git log --graph - показать текущее местоположение, такое как hg glog
Как я могу сделать git показать текущий текущий node в графике журнала? git log --graph --all
обозначает все узлы одинаково с *, но я привык к Mercurial, где hg glog визуально отличает мой текущий node, изображая его с помощью @. Это особенно полезно после git fetch (aka hg pull), когда мой текущий node не обязательно будет наверху.
В настоящее время мне нужно выяснить мой текущий хэш node, а затем запустить вывод журнала графика. Есть ли способ лучше?
PS - Я не в графической среде, поэтому gitk не вариант.
[UPDATE: теперь я полностью акклиматизирован до git, и первое, что я делаю при настройке новой среды, - это выполнить следующую команду для настройки алиаса git:
git config --global alias.map 'log --graph --full-history --all --color --decorate'
Это позволяет мне набирать git map
в любом репо и видеть карту ascii-art всех ветвей и коммитов, а также мое местоположение на этой карте. Этот псевдоним, вероятно, является моей единственной наиболее используемой командой git в этот момент (помимо добавления и фиксации), действительно незаменимым для меня]
Ответы
Ответ 1
Добавив параметр --decorate
, вы увидите ссылки, указывающие на каждую фиксацию.
Так, например, вы увидите HEAD и origin/HEAD (или что-то еще) в нужном месте.
Они могут даже быть красивыми, если у вас есть это.
PS. спасибо за то, что заставил меня проверить это - это на самом деле очень приятно, особенно то, как оно также показывает мои различные приступы.
Ответ 2
Возможно, добавив опцию форматирования, вы можете увидеть, где находится HEAD:
--pretty=format:"%h%x09%d%x20%s"
См. "Визуализация топологии отрасли в git" для иллюстрации.