-
1. Начало
- 1.1 За Version Control системите
- 1.2 Кратка история на Git
- 1.3 Какво е Git
- 1.4 Конзолата на Git
- 1.5 Инсталиране на Git
- 1.6 Първоначална настройка на Git
- 1.7 Помощна информация в Git
- 1.8 Обобщение
-
2. Основи на Git
-
3. Клонове в Git
-
4. GitHub
-
5. Git инструменти
- 5.1 Избор на къмити
- 5.2 Интерактивно индексиране
- 5.3 Stashing и Cleaning
- 5.4 Подписване на вашата работа
- 5.5 Търсене
- 5.6 Манипулация на историята
- 5.7 Мистерията на командата Reset
- 5.8 Сливане за напреднали
- 5.9 Rerere
- 5.10 Дебъгване с Git
- 5.11 Подмодули
- 5.12 Пакети в Git (Bundling)
- 5.13 Заместване
- 5.14 Credential Storage система
- 5.15 Обобщение
-
6. Настройване на Git
- 6.1 Git конфигурации
- 6.2 Git атрибути
- 6.3 Git Hooks
- 6.4 Примерна Git-Enforced политика
- 6.5 Обобщение
-
7. Git и други системи
- 7.1 Git като клиент
- 7.2 Миграция към Git
- 7.3 Обобщение
-
8. Git на ниско ниво
- 8.1 Plumbing и Porcelain команди
- 8.2 Git обекти
- 8.3 Git референции
- 8.4 Packfiles
- 8.5 Refspec спецификации
- 8.6 Транспортни протоколи
- 8.7 Поддръжка и възстановяване на данни
- 8.8 Environment променливи
- 8.9 Обобщение
-
9. Приложение A: Git в други среди
-
10. Приложение B: Вграждане на Git в приложения
- 10.1 Git от команден ред
- 10.2 Libgit2
- 10.3 JGit
- 10.4 go-git
- 10.5 Dulwich
-
A1. Приложение C: Git команди
- A1.1 Настройки и конфигурация
- A1.2 Издърпване и създаване на проекти
- A1.3 Snapshotting
- A1.4 Клонове и сливане
- A1.5 Споделяне и обновяване на проекти
- A1.6 Инспекция и сравнение
- A1.7 Дебъгване
- A1.8 Patching
- A1.9 Email команди
- A1.10 Външни системи
- A1.11 Административни команди
- A1.12 Plumbing команди
9.8 Приложение A: Git в други среди - Git в PowerShell
Git в PowerShell
Стандартният команден терминал в Windows (cmd.exe
) не е особено подходящ за комфортна работа с Git, но ако използвате PowerShell, тогава нещата са други.
Това също работи ако използвате PowerShell Core на друга платформа, например Linux или macOS.
Пакетът posh-git (https://github.com/dahlbyk/posh-git) осигурява мощна tab-completion функционалност, както и подобрен промпт за вашите хранилища.
Изглежда така:
Инсталация
Изисквания (само за Windows)
Преди да можете да изпълнявате PowerShell скриптове, трябва да настроите вашата локална ExecutionPolicy
на RemoteSigned
(всичко с изключение на Undefined
и Restricted
).
Ако изберете AllSigned
вместо RemoteSigned
, също и локалните скриптове (вашите собствени) трябва да бъдат цифрово подписани, за да могат да бъдат изпълнявани.
С RemoteSigned
, само скриптовете със ZoneIdentifier
настроен на Internet
(тоест, изтеглени от мрежата) е необходимо да са подписани, другите не.
Ако сте администратор и искате да го зададете за всички потребители, използвайте -Scope LocalMachine
.
Ако сте нормален потребител без административни права, използвайте -Scope CurrentUser
за да зададете настройката само за вас.
Повече за PowerShell Scopes: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes.
Повече за PowerShell ExecutionPolicy: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy.
За да зададете стойност RemoteSigned
на ExecutionPolicy
за всички потребители, използвайте командата:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Gallery
Ако имате поне PowerShell 5 или PowerShell 4 с PackageManagement, можете да използвате пакетния мениджър за да издърпате posh-git.
Повече информация за PowerShell Gallery: https://docs.microsoft.com/en-us/powershell/scripting/gallery/overview.
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
Ако искате да инсталирате posh-git за всички потребители, подайте -Scope AllUsers
вместо това и изпълнете командата от elevated PowerShell конзола.
Ако втората команда завърши с грешка от рода на Module 'PowerShellGet' was not installed by using Install-Module
, ще трябва първо да изпълните друга такава:
> Install-Module PowerShellGet -Force -SkipPublisherCheck
След това може да се върнете и да опитате отново. Това се случва, защото модулите, които идват с Windows Powershell са подписани с различни сертификати.
Обновяване на PowerShell промпта
За да включите Git информация в промпта, posh-git модулът трябва да бъде импортиран.
За да се импортира posh-git всеки път, когато се пусне PowerShell, изпълнете командата Add-PoshGitToProfile
, която ще добави импортиращия израз във вашия $profile
скрипт.
Той се изпълнява всеки път, когато отворите нов PowerShell промпт.
Не забравяйте, че има няколко $profile
скриптове.
Например един за конзолата и друг отделен за ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
От изходен код
Просто изтеглете posh-git версия от https://github.com/dahlbyk/posh-git/releases, и я разархивирайте.
След това импортирайте модула използвайки пълния път до файла posh-git.psd1
:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Това ще добави правилния ред във файла profile.ps1
и posh-git ще е активен следващия път, когато отворите вашия промпт.
За описание на Git status summary информацията, която се вижда в промпта, погледнете: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information За повече подробности как да настроите вашия posh-git промпт, вижте: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.