diff --git a/README.md b/README.md index 6916edbc..2172c1f7 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ ## Translation Status -[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-97.50%25-yellow)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-97.78%25-yellow)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-95.00%25-yellow)](TRANSLATION.md) [![it__IT](https://img.shields.io/badge/it__IT-95.56%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-96.81%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-97.92%25-yellow)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md) +[![en_US](https://img.shields.io/badge/en__US-100%25-brightgreen)](TRANSLATION.md) [![de__DE](https://img.shields.io/badge/de__DE-100.00%25-brightgreen)](TRANSLATION.md) [![es__ES](https://img.shields.io/badge/es__ES-97.78%25-yellow)](TRANSLATION.md) [![fr__FR](https://img.shields.io/badge/fr__FR-95.00%25-yellow)](TRANSLATION.md) [![it__IT](https://img.shields.io/badge/it__IT-95.56%25-yellow)](TRANSLATION.md) [![pt__BR](https://img.shields.io/badge/pt__BR-96.81%25-yellow)](TRANSLATION.md) [![ru__RU](https://img.shields.io/badge/ru__RU-100.00%25-brightgreen)](TRANSLATION.md) [![zh__CN](https://img.shields.io/badge/zh__CN-100.00%25-brightgreen)](TRANSLATION.md) [![zh__TW](https://img.shields.io/badge/zh__TW-100.00%25-brightgreen)](TRANSLATION.md) ## How to Use diff --git a/TRANSLATION.md b/TRANSLATION.md index 6e743f14..c50ce276 100644 --- a/TRANSLATION.md +++ b/TRANSLATION.md @@ -1,27 +1,10 @@ -### de_DE.axaml: 97.50% +### de_DE.axaml: 100.00%
Missing Keys -- Text.BranchCM.MergeMultiBranches -- Text.CommitCM.Merge -- Text.CommitCM.MergeMultiple -- Text.CommitDetail.Files.Search -- Text.Diff.UseBlockNavigation -- Text.FileCM.ResolveUsing -- Text.Hotkeys.Global.Clone -- Text.InProgress.CherryPick.Head -- Text.InProgress.Merge.Operating -- Text.InProgress.Rebase.StoppedAt -- Text.InProgress.Revert.Head -- Text.Merge.Source -- Text.MergeMultiple -- Text.MergeMultiple.CommitChanges -- Text.MergeMultiple.Strategy -- Text.MergeMultiple.Targets -- Text.Repository.Skip -- Text.WorkingCopy.CommitToEdit +
@@ -168,27 +151,13 @@ -### ru_RU.axaml: 97.92% +### ru_RU.axaml: 100.00%
Missing Keys -- Text.BranchCM.MergeMultiBranches -- Text.CommitCM.Merge -- Text.CommitCM.MergeMultiple -- Text.FileCM.ResolveUsing -- Text.Hotkeys.Global.Clone -- Text.InProgress.CherryPick.Head -- Text.InProgress.Merge.Operating -- Text.InProgress.Rebase.StoppedAt -- Text.InProgress.Revert.Head -- Text.Merge.Source -- Text.MergeMultiple -- Text.MergeMultiple.CommitChanges -- Text.MergeMultiple.Strategy -- Text.MergeMultiple.Targets -- Text.Repository.Skip +
diff --git a/VERSION b/VERSION index 50a1eb5b..b6723375 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.43 \ No newline at end of file +8.44 \ No newline at end of file diff --git a/src/App.Commands.cs b/src/App.Commands.cs index 8a485029..18016a1c 100644 --- a/src/App.Commands.cs +++ b/src/App.Commands.cs @@ -25,6 +25,18 @@ namespace SourceGit private Action _action = null; } + public static bool IsCheckForUpdateCommandVisible + { + get + { + #if DISABLE_UPDATE_DETECTION + return false; + #else + return true; + #endif + } + } + public static readonly Command OpenPreferenceCommand = new Command(_ => OpenDialog(new Views.Preference())); public static readonly Command OpenHotkeysCommand = new Command(_ => OpenDialog(new Views.Hotkeys())); public static readonly Command OpenAppDataDirCommand = new Command(_ => Native.OS.OpenInFileManager(Native.OS.DataDir)); diff --git a/src/App.axaml b/src/App.axaml index 0f40031d..55aacb89 100644 --- a/src/App.axaml +++ b/src/App.axaml @@ -33,7 +33,7 @@ - + diff --git a/src/App.axaml.cs b/src/App.axaml.cs index 0615724a..3d1547c9 100644 --- a/src/App.axaml.cs +++ b/src/App.axaml.cs @@ -548,9 +548,11 @@ namespace SourceGit _launcher = new ViewModels.Launcher(startupRepo); desktop.MainWindow = new Views.Launcher() { DataContext = _launcher }; + #if !DISABLE_UPDATE_DETECTION var pref = ViewModels.Preference.Instance; if (pref.ShouldCheck4UpdateOnStartup()) Check4Update(); + #endif } private ViewModels.Launcher _launcher = null; diff --git a/src/Commands/Command.cs b/src/Commands/Command.cs index 96a5b9c9..3f61de17 100644 --- a/src/Commands/Command.cs +++ b/src/Commands/Command.cs @@ -120,8 +120,8 @@ namespace SourceGit.Commands { if (RaiseError) { - var errMsg = string.Join("\n", errs); - if (!string.IsNullOrWhiteSpace(errMsg)) + var errMsg = string.Join("\n", errs).Trim(); + if (!string.IsNullOrEmpty(errMsg)) Dispatcher.UIThread.Post(() => App.RaiseException(Context, errMsg)); } diff --git a/src/Commands/QueryCommits.cs b/src/Commands/QueryCommits.cs index 80497a90..6318f331 100644 --- a/src/Commands/QueryCommits.cs +++ b/src/Commands/QueryCommits.cs @@ -6,13 +6,11 @@ namespace SourceGit.Commands { public class QueryCommits : Command { - public QueryCommits(string repo, bool useTopoOrder, string limits, bool needFindHead = true) + public QueryCommits(string repo, string limits, bool needFindHead = true) { - var order = useTopoOrder ? "--topo-order" : "--date-order"; - WorkingDirectory = repo; Context = repo; - Args = $"log {order} --no-show-signature --decorate=full --pretty=format:%H%n%P%n%D%n%aN±%aE%n%at%n%cN±%cE%n%ct%n%s {limits}"; + Args = $"log --no-show-signature --decorate=full --pretty=format:%H%n%P%n%D%n%aN±%aE%n%at%n%cN±%cE%n%ct%n%s {limits}"; _findFirstMerged = needFindHead; } diff --git a/src/Commands/QueryRefsContainsCommit.cs b/src/Commands/QueryRefsContainsCommit.cs index e3b73ccc..82e9b341 100644 --- a/src/Commands/QueryRefsContainsCommit.cs +++ b/src/Commands/QueryRefsContainsCommit.cs @@ -23,6 +23,9 @@ namespace SourceGit.Commands var lines = output.StdOut.Split('\n'); foreach (var line in lines) { + if (line.EndsWith("/HEAD", StringComparison.Ordinal)) + continue; + if (line.StartsWith("refs/heads/", StringComparison.Ordinal)) rs.Add(new() { Name = line.Substring("refs/heads/".Length), Type = Models.DecoratorType.LocalBranchHead }); else if (line.StartsWith("refs/remotes/", StringComparison.Ordinal)) diff --git a/src/Models/AvatarManager.cs b/src/Models/AvatarManager.cs index 313553f9..9f0bceaf 100644 --- a/src/Models/AvatarManager.cs +++ b/src/Models/AvatarManager.cs @@ -35,7 +35,7 @@ namespace SourceGit.Models private static AvatarManager _instance = null; - [GeneratedRegex(@"^(?:(\d+)\+)?(.+?)@users\.noreply\.github\.com$")] + [GeneratedRegex(@"^(?:(\d+)\+)?(.+?)@.+\.github\.com$")] private static partial Regex REG_GITHUB_USER_EMAIL(); private object _synclock = new object(); @@ -43,6 +43,7 @@ namespace SourceGit.Models private List _avatars = new List(); private Dictionary _resources = new Dictionary(); private HashSet _requesting = new HashSet(); + private HashSet _defaultAvatars = new HashSet(); public void Start() { @@ -50,8 +51,8 @@ namespace SourceGit.Models if (!Directory.Exists(_storePath)) Directory.CreateDirectory(_storePath); - var icon = AssetLoader.Open(new Uri($"avares://SourceGit/Resources/Images/github.png", UriKind.RelativeOrAbsolute)); - _resources.Add("noreply@github.com", new Bitmap(icon)); + LoadDefaultAvatar("noreply@github.com", "github.png"); + LoadDefaultAvatar("unrealbot@epicgames.com", "unreal.png"); Task.Run(() => { @@ -140,7 +141,7 @@ namespace SourceGit.Models { if (forceRefetch) { - if (email.Equals("noreply@github.com", StringComparison.Ordinal)) + if (_defaultAvatars.Contains(email)) return null; if (_resources.ContainsKey(email)) @@ -185,6 +186,13 @@ namespace SourceGit.Models return null; } + private void LoadDefaultAvatar(string key, string img) + { + var icon = AssetLoader.Open(new Uri($"avares://SourceGit/Resources/Images/{img}", UriKind.RelativeOrAbsolute)); + _resources.Add(key, new Bitmap(icon)); + _defaultAvatars.Add(key); + } + private string GetEmailHash(string email) { var lowered = email.ToLower(CultureInfo.CurrentCulture).Trim(); diff --git a/src/Models/RepositorySettings.cs b/src/Models/RepositorySettings.cs index 5b3aa331..4673f66a 100644 --- a/src/Models/RepositorySettings.cs +++ b/src/Models/RepositorySettings.cs @@ -14,6 +14,30 @@ namespace SourceGit.Models set; } = string.Empty; + public bool EnableReflog + { + get; + set; + } = false; + + public bool EnableFirstParentInHistories + { + get; + set; + } = false; + + public bool EnableTopoOrderInHistories + { + get; + set; + } = false; + + public bool IncludeUntrackedInLocalChanges + { + get; + set; + } = true; + public DealWithLocalChanges DealWithLocalChangesOnCheckoutBranch { get; @@ -26,6 +50,12 @@ namespace SourceGit.Models set; } = false; + public bool EnableForceOnFetch + { + get; + set; + } = false; + public bool FetchWithoutTags { get; @@ -84,31 +114,31 @@ namespace SourceGit.Models { get; set; - } = new AvaloniaList(); + } = []; public AvaloniaList CommitTemplates { get; set; - } = new AvaloniaList(); + } = []; public AvaloniaList CommitMessages { get; set; - } = new AvaloniaList(); + } = []; public AvaloniaList IssueTrackerRules { get; set; - } = new AvaloniaList(); + } = []; public AvaloniaList CustomActions { get; set; - } = new AvaloniaList(); + } = []; public bool EnableAutoFetch { @@ -152,6 +182,42 @@ namespace SourceGit.Models set; } = "---"; + public bool IsLocalBranchesExpandedInSideBar + { + get; + set; + } = true; + + public bool IsRemotesExpandedInSideBar + { + get; + set; + } = false; + + public bool IsTagsExpandedInSideBar + { + get; + set; + } = false; + + public bool IsSubmodulesExpandedInSideBar + { + get; + set; + } = false; + + public bool IsWorktreeExpandedInSideBar + { + get; + set; + } = false; + + public List ExpandedBranchNodesInSideBar + { + get; + set; + } = []; + public Dictionary CollectHistoriesFilters() { var map = new Dictionary(); diff --git a/src/Models/ShellOrTerminal.cs b/src/Models/ShellOrTerminal.cs index 8ab25788..1decdcfa 100644 --- a/src/Models/ShellOrTerminal.cs +++ b/src/Models/ShellOrTerminal.cs @@ -41,6 +41,7 @@ namespace SourceGit.Models { new ShellOrTerminal("mac-terminal", "Terminal", ""), new ShellOrTerminal("iterm2", "iTerm", ""), + new ShellOrTerminal("warp", "Warp", ""), }; } else diff --git a/src/Native/MacOS.cs b/src/Native/MacOS.cs index 9660920d..62ae8c89 100644 --- a/src/Native/MacOS.cs +++ b/src/Native/MacOS.cs @@ -36,6 +36,8 @@ namespace SourceGit.Native return "Terminal"; case "iterm2": return "iTerm"; + case "warp": + return "Warp"; } return string.Empty; diff --git a/src/Resources/Images/ShellIcons/warp.png b/src/Resources/Images/ShellIcons/warp.png new file mode 100644 index 00000000..7d604d8e Binary files /dev/null and b/src/Resources/Images/ShellIcons/warp.png differ diff --git a/src/Resources/Images/unreal.png b/src/Resources/Images/unreal.png new file mode 100644 index 00000000..4faae92b Binary files /dev/null and b/src/Resources/Images/unreal.png differ diff --git a/src/Resources/Locales/de_DE.axaml b/src/Resources/Locales/de_DE.axaml index 2045a229..ff8a1d97 100644 --- a/src/Resources/Locales/de_DE.axaml +++ b/src/Resources/Locales/de_DE.axaml @@ -61,6 +61,7 @@ Fetche ${0}$ in ${1}$ hinein... Git Flow - Abschließen ${0}$ Merge ${0}$ in ${1}$ hinein... + Merge ausgewählte {0} Branches in aktuellen hinein Pull ${0}$ Pull ${0}$ in ${1}$ hinein... Push ${0}$ @@ -113,6 +114,8 @@ SHA kopieren Benutzerdefinierte Aktion Interactives Rebase von ${0}$ auf diesen Commit + Merge in ${0}$ hinein + Merge ... Rebase von ${0}$ auf diesen Commit Reset ${0}$ auf diesen Commit Commit rückgängig machen @@ -124,6 +127,7 @@ Änderungen durchsuchen... DATEIEN LFS DATEI + Dateien durchsuchen... Submodule INFORMATION AUTOR @@ -249,6 +253,7 @@ Seiten wechseln Syntax Hervorhebung Zeilenumbruch + Aktiviere Block-Navigation Öffne in Merge Tool Alle Zeilen anzeigen Weniger Zeilen anzeigen @@ -280,6 +285,7 @@ Verwerfe {0} Dateien... Verwerfe Änderungen in ausgewählten Zeilen Öffne externes Merge Tool + Löse mit ${0}$ Als Patch speichern... Stagen {0} Dateien stagen @@ -358,6 +364,7 @@ Tastaturkürzel Referenz GLOBAL Aktuelles Popup schließen + Klone neues Repository Aktuellen Tab schließen Zum vorherigen Tab wechseln Zum nächsten Tab wechseln @@ -390,9 +397,13 @@ Initialisiere Repository Pfad: Cherry-Pick wird durchgeführt. + Verarbeite commit Merge request wird durchgeführt. + Verarbeite Rebase wird durchgeführt. + Angehalten bei Revert wird durchgeführt. + Reverte commit Interaktiver Rebase Ziel Branch: Auf: @@ -403,6 +414,11 @@ Branch mergen Ziel-Branch: Merge Option: + Quelle: + Merge (mehrere) + Alle Änderungen committen + Strategie: + Ziele: Bewege Repository Knoten Wähle Vorgänger-Knoten für: Name: @@ -459,7 +475,7 @@ Längenvorgabe für Commit-Nachrichten GIT Aktiviere Auto-CRLF - Clone Standardordner + Klon Standardordner Benutzer Email Globale Git Benutzer Email Installationspfad @@ -568,6 +584,7 @@ Autor & Committer Aktueller Branch Zeige Tags als Baum + ÜBERSPRINGEN Statistiken SUBMODULE SUBMODUL HINZUFÜGEN @@ -666,7 +683,7 @@ Öffne alle Repositories Öffne Repository Öffne Terminal - Clone Standardordner erneut nach Repositories durchsuchen + Klon Standardordner erneut nach Repositories durchsuchen Suche Repositories... Sortieren Änderungen @@ -681,6 +698,7 @@ COMMIT & PUSH Template/Historie Klick-Ereignis auslösen + Commit (Bearbeitung) Alle Änderungen stagen und committen Leerer Commit erkannt! Fortfahren (--allow-empty)? KONFLIKTE ERKANNT diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 65b4dd96..befad68a 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -273,7 +273,7 @@ Fast-Forward (without checkout) Fetch Fetch all remotes - Enable '--force' option + Override refs check Fetch without tags Remote: Fetch Remote Changes @@ -420,7 +420,7 @@ Select parent node for: Name: Git has NOT been configured. Please to go [Preference] and configure it first. - Open App Data Dir + Open Data Storage Directory Open with... Optional. Create New Page diff --git a/src/Resources/Locales/ru_RU.axaml b/src/Resources/Locales/ru_RU.axaml index 76142274..ca06d36a 100644 --- a/src/Resources/Locales/ru_RU.axaml +++ b/src/Resources/Locales/ru_RU.axaml @@ -60,7 +60,8 @@ Перемотать вперёд к ${0}$ Извлечь ${0}$ в ${1}$... Поток Git - Завершение ${0}$ - Слить ${0}$ в ${1}$... + Влить ${0}$ в ${1}$... + Влить {0} выделенных веток в текущую Забрать ${0}$ Забрать ${0}$ в ${1}$... Выложить ${0}$ @@ -104,26 +105,28 @@ Адрес хранилища: ЗАКРЫТЬ Редактор - Выбрать из списка эту фиксацию - Список выбора ... - Проверить фиксацию - Сравнить в заголовком - Сравнить с рабочим деревом + Применить этот коммит (cherry-pick) + Применить несколько коммитов ... + Переключиться на этот коммит + Сравнить c HEAD + Сравнить с рабочим каталогом Копировать информацию Копировать SHA Пользовательское действие - Интерактивное перемещение ${0}$ сюда + Интерактивное перемещение (rebase -i) ${0}$ сюда + Влить в ${0}$ + Влить ветки... Переместить ${0}$ сюда Сбросить ${0}$ сюда - Вернуть фиксацию - Переформулировать - Сохранить как исправление... - Втиснуть в родительскую - Втиснуть дочерную фиксацию сюда + Отменить коммит + Изменить комментарий + Сохранить как patch-файл... + Объединить с предыдущим коммитом + Объединить все следующие коммиты с этим ИЗМЕНЕНИЯ Найти изменения.... ФАЙЛЫ - Файл ХБФ + Файл LFS Поиск файлов... Подмодуль ИНФОРМАЦИЯ @@ -131,8 +134,8 @@ ИЗМЕНЁННЫЙ ДОЧЕРНИЙ ИСПОЛНИТЕЛЬ - Проверить ссылки, содержащие эту фиксацию - ФИКСАЦИЯ СОДЕРЖИТСЯ В + Найти все ветки с этим коммитом + ВЕТКИ С ЭТИМ КОММИТОМ Отображаются только первые 100 изменений. Смотрите все изменения на вкладке ИЗМЕНЕНИЯ. СООБЩЕНИЕ РОДИТЕЛИ @@ -142,25 +145,25 @@ Введите тему фиксации Описание Настройка хранилища - ШАБЛОН ФИКСАЦИИ - Имя шаблона: - Шаблон содержания: + ШАБЛОН КОММИТА + Название: + Cодержание: ПОЛЬЗОВАТЕЛЬСКОЕ ДЕЙСТВИЕ Аргументы: - ${REPO} - Путь хранилища; ${SHA} - Выбранные фиксации SHA - Исполняемый фалй: + ${REPO} - Путь к репозиторию; ${SHA} - SHA коммитов + Исполняемый файл: Имя: Диапазон: - Фиксация - Хранилище + Коммит + Репозиторий Адрес электронной почты Адрес электронной почты GIT - Автоматическое извлечение внешних хранилищ + Автоматическое скачивание изменений Минут(а/ы) - Разрешить --signoff для фиксации + Разрешить --signoff для коммита Удалённое хранилище по-умолчанию - Разрешить --prune при извлечении + Разрешить --prune при скачивании ОТСЛЕЖИВАНИЕ ПРОБЛЕМ Добавить пример правила для Git Добавить пример правила Jira @@ -227,7 +230,7 @@ Внешнее хранилище: Цель: Подтвердите удаление группы - Подтвердите удаление хранилища + Подтвердите удаление репозитория Удалить подмодуль Путь подмодуля: Удалить метку @@ -253,9 +256,9 @@ Перенос слов в строке Разрешить навигацию по блокам Открыть в инструменте слияния - Показывать все линии - Уменьшить количество видимых линий - Увеличить количество видимых линий + Показывать все строки + Уменьшить количество видимых строк + Увеличить количество видимых строк ВЫБРАТЬ ФАЙЛ ДЛЯ ПРОСМОТРА ИЗМЕНЕНИЙ Открыть в инструменте слияния Отклонить изменения @@ -281,9 +284,10 @@ Допустить без изменений Отклонить... Отклонить {0} файлов... - Отклонить изменения в выбранной(ых) строке(ах) + Отменить изменения в выбранной(ых) строке(ах) Открыть расширенный инструмент слияния - Сохранить как исправление... + Взять версию ${0}$ + Сохранить как patch-файл... Подготовить Подготовленные {0} файлы Подготовленные изменения в выбранной(ых) строке(ах) @@ -360,11 +364,12 @@ ПОДСКАЗКИ: Ссылка на сочетания клавиш ОБЩЕЕ - Отменить текущее всплывающее окно - Закрыть текущее окно - Перейти на предыдущую страницу - Перейти на следующую страницу - Создать новую страницу + Закрыть окно + Клонировать репозиторий + Закрыть вкладку + Перейти на предыдущую вкладку + Перейти на следующую вкладку + Создать новую вкладку Открыть диалоговое окно настроек ХРАНИЛИЩЕ Зафиксировать подготовленные изменения @@ -392,10 +397,14 @@ Отклонить Инициализировать хранилище Путь: - Выполняется частичный забор. - Выполняет запрос слияния. + Выполняется частичный перенос коммитов (cherry-pick). + Обрабтка коммита. + Выполняется слияние. + Работаем. Выполняется перенос. - Выполняется возврат. + Остановлен на + Выполняется отмена коммита. + Выполняется отмена Интерактивное перемещение Целевая ветка: На: @@ -403,11 +412,16 @@ Копировать ссылку ОШИБКА УВЕДОМЛЕНИЕ - Слить ветку + Влить ветку В: Опции слияния: - Переместить узел хранилища - Выбрать родительский узел для: + Источник: + Влить несколько веток + Зафиксировать все изменения + Стратегия: + Цели: + Переместить репозиторий в другую группу + Выбрать группу для: Имя: Git НЕ был настроен. Пожалуйста, перейдите в [Настройки] и сначала настройте его. Открыть приложение каталогов данных @@ -453,13 +467,13 @@ Путь установки Введите путь для инструмента различия/слияния Инструмент - ГЛАВНЫЙ + ОСНОВНЫЕ Проверить обновления при старте Язык - История фиксаций - Показывать время автора вместо времени фиксации на графике + Максимальная длина истории + Показывать время автора вместо времени коммита на графике Показать наследника в деталях комментария - Длина темы фиксации + Длина темы коммита GIT Включить автозавершение CRLF Каталог клонирования по-умолчанию @@ -572,26 +586,27 @@ Автор и исполнитель Текущая ветка Показывать метки как дерево - Статистики + ПРОПУСТИТЬ + Статистикa ПОДМОДУЛИ ДОБАВИТЬ ПОДМОДУЛЬ ОБНОВИТЬ ПОДМОДУЛЬ МЕТКИ НОВАЯ МЕТКА Открыть в терминале - РАБОЧИЕ ДЕРЕВЬЯ - ДОБАВИТЬ РАБОЧЕЕ ДЕРЕВО + РАБОЧИЕ КАТАЛОГИ + ДОБАВИТЬ РАБОЧИЙ КАТАЛОГ ОБРЕЗАТЬ - Адрес хранилища Git + Адрес репозитория Git Сбросить текущую втеку до версии Режим сброса: Переместить в: Текущая ветка: Открыть в файловом менеджере - Отменить фиксацию - Фиксация: - Отмена изменений фиксации - Переформулировать сообщение фиксации + Отменить коммит + Коммит: + Отмена коммита + Переформулировать сообщение коммита Использовать «Shift+Enter» для ввода новой строки. «Enter» - это горячая клавиша кнопки OK Запуск. Подождите пожалуйста... СОХРАНИТЬ diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml index f711cdee..e53af9a8 100644 --- a/src/Resources/Locales/zh_CN.axaml +++ b/src/Resources/Locales/zh_CN.axaml @@ -276,7 +276,7 @@ 快进(fast-forward,无需checkout) 拉取(fetch) 拉取所有的远程仓库 - 启用 --force 选项 + 覆盖REF检查 不拉取远程标签 远程仓库 : 拉取远程仓库内容 diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml index 90444967..e96f68ad 100644 --- a/src/Resources/Locales/zh_TW.axaml +++ b/src/Resources/Locales/zh_TW.axaml @@ -276,7 +276,7 @@ 快進 (fast-forward,無需 checkout) 提取 (fetch) 提取所有的遠端存放庫 - 啟用 [--force] 選項 + 覆寫 REFs 檢查 不提取遠端標籤 遠端存放庫: 提取遠端存放庫內容 diff --git a/src/Resources/Styles.axaml b/src/Resources/Styles.axaml index 2cc09e39..28eabbab 100644 --- a/src/Resources/Styles.axaml +++ b/src/Resources/Styles.axaml @@ -4,6 +4,7 @@ xmlns:vm="using:SourceGit.ViewModels" xmlns:c="using:SourceGit.Converters" xmlns:ae="using:AvaloniaEdit" + xmlns:aee="using:AvaloniaEdit.Editing" xmlns:aes="using:AvaloniaEdit.Search"> @@ -580,6 +581,19 @@ + + - - - - - - + + + + + + + + - - - - + + + - - - - - - - + + + + - - - - - + + + + - - - - - - - - - + + - - - - - - + + + + + - + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + - - - - - + + + + +