Я бы порекомендовал SmartGit .Быть чистым переносом Java-приложений между Linux и Windows не проблема.Единственными требованиями являются JRE и установка Git.
Он поддерживает практически все важные команды Git, единственной важной функцией, отсутствующей в IMO, является интерактивный перебазирование.Тем не менее, поддерживается обычная перебазировка и объединение.
Я думаю, что SmartGit удовлетворяет всем вашим требованиям, кроме (2.), поскольку он не показывает какие-либо команды Git, выполненные вообще.