Чтобы получить неинтерактивную команду, поместите сценарий с этим содержимым в переменную PATH:
#!/bin/sh
#
# git-fixup
# Use staged changes to modify a specified commit
set -e
cmt=$(git rev-parse $1)
git commit --fixup="$cmt"
GIT_EDITOR=true git rebase -i --autosquash "$cmt~1"
Используйте его, подготовив изменения (с помощью git add
), и затем запустите git fixup <commit-to-modify>
. Конечно, он все равно будет интерактивным, если вы столкнетесь с конфликтами.
static string ToHMString(TimeSpan timespan) {
if (timespan.Ticks < 0) return "-" + ToHMString(timespan.Negate());
return timespan.TotalHours.ToString("#0") + ":" + timespan.Minutes.ToString("00");
}
Console.WriteLine(ToHMString(TimeSpan.FromHours(3))); //Prints "3:00"
Console.WriteLine(ToHMString(TimeSpan.FromHours(-27.75))); //Prints "-28:45"
Это также будет работать правильно, если временной интервал превышает 24 часа.
Просто умножьте его на -1 или используйте функцию абсолютного значения.
Простым решением будет для выполнения:
string format = "HH:mm";
if(hours < 0)
format = "-" + format;
hours = Math.Abs(hours)