Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#104에 대한 업데이트 내용 #120

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion A-git-in-other-environments.asc
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ include::book/A-git-in-other-environments/sections/guis.asc[]

include::book/A-git-in-other-environments/sections/visualstudio.asc[]

include::book/A-git-in-other-environments/sections/eclipse.asc[]
include::book/A-git-in-other-environments/sections/visualstudiocode.asc[]

include::book/A-git-in-other-environments/sections/jetbrainsides.asc[]

include::book/A-git-in-other-environments/sections/sublimetext.asc[]

include::book/A-git-in-other-environments/sections/bash.asc[]

Expand Down
24 changes: 0 additions & 24 deletions book/A-git-in-other-environments/sections/eclipse.asc

This file was deleted.

115 changes: 59 additions & 56 deletions book/A-git-in-other-environments/sections/guis.asc

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions book/A-git-in-other-environments/sections/jetbrainsides.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//////////////////////////
=== Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
//////////////////////////
=== IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine

//////////////////////////
JetBrains IDEs (such as IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, RubyMine, and others) ship with a Git Integration plugin.
It provides a dedicated view in the IDE to work with Git and GitHub Pull Requests.
//////////////////////////
JetBrains IDE (IntelliJ IDEA, PyCharm, WebStorm, PhpStorm, RubyMine, 기타 등등)는 Git Integration 플러그인을 내장하고 있다.
이 플러그인은 Git이나 GitHub Pull Request 전용 UI를 제공한다.

//////////////////////////
.Version Control ToolWindow in JetBrains IDEs
image::images/jb.png[Version Control ToolWindow in JetBrains IDEs]
//////////////////////////
.JetBrains IDE 의 버전 관리 ToolWindow
image::images/jb.png[JetBrains IDE 의 버전 관리 ToolWindow]

//////////////////////////
The integration relies on the command-line git client, and requires one to be installed.
The official documentation is available at https://www.jetbrains.com/help/idea/using-git-integration.html[].
//////////////////////////
Git Integration 플러그인은 git 명령어를 사용하므로 git 설치가 필요하다.
Git Integration 플러그인에 대한 공식 문서는 https://www.jetbrains.com/help/idea/using-git-integration.html[] 에서 제공한다.
107 changes: 66 additions & 41 deletions book/A-git-in-other-environments/sections/powershell.asc
Original file line number Diff line number Diff line change
@@ -1,47 +1,60 @@
[[_git_powershell]]
=== Git in Powershell
=== Git in PowerShell

(((powershell)))(((tab completion, powershell)))(((shell prompts, powershell)))
(((PowerShell)))(((tab completion, PowerShell)))(((shell prompts, PowerShell)))
(((posh-git)))
//////////////////////////
The legacy command-line terminal on Windows (`cmd.exe`) isn't really capable of a customized Git experience, but if you're using Powershell, you're in luck.
This also works if you're running PowerShell on a non-Windows platform like Debian.
A package called Posh-Git (https://github.com/dahlbyk/posh-git[]) provides powerful tab-completion facilities, as well as an enhanced prompt to help you stay on top of your repository status.
The legacy command-line terminal on Windows (`cmd.exe`) isn't really capable of a customized Git experience, but if you're using PowerShell, you're in luck.
This also works if you're running PowerShell Core on Linux or macOS.
A package called posh-git (https://github.com/dahlbyk/posh-git[]) provides powerful tab-completion facilities, as well as an enhanced prompt to help you stay on top of your repository status.
It looks like this:
//////////////////////////
Windows의 표준 CLI 터미널인 `cmd.exe` 는 Git을 사용하기에 별로 좋지 않다. Powershell을 쓸 줄 안다면 Powershell을 사용하는 것이 낫다.
PowerShell을 Windows가 아닌 Debian 같은 환경에서 사용한다면 이어지는 내용을 동일하게 적용해볼 수 있다.
Windows의 표준 CLI 터미널인 `cmd.exe` 는 Git을 사용하기에 별로 좋지 않다. PowerShell을 쓸 줄 안다면 PowerShell을 사용하는 것이 낫다.
PowerShell을 Windows가 아닌 Linux나 macOS 같은 환경에서 사용한다면 이어지는 내용을 동일하게 적용해 볼 수 있다.
Posh-Git(https://github.com/dahlbyk/posh-git[]) 이라는 프로젝트가 있어서 Tab 자동완성과 저장소 상태를 보여주는 프롬프트도 사용할 수 있다.

//////////////////////////
.Powershell with Posh-git.
image::images/posh-git.png[Powershell with Posh-git.]
.PowerShell with Posh-git
image::images/posh-git.png[PowerShell with Posh-git]
//////////////////////////
.Posh-git을 사용 중인 Powershell.
image::images/posh-git.png[Posh-git을 사용 중인 Powershell.]
.Posh-git을 사용 중인 PowerShell
image::images/posh-git.png[Posh-git을 사용 중인 PowerShell]

//////////////////////////
==== Installation
//////////////////////////
==== 설치

//////////////////////////
===== Prerequisites (Windows only)
//////////////////////////
===== 필요한 것 (Windows 해당)

//////////////////////////
Before you're able to run PowerShell scripts on your machine, you need to set your local ExecutionPolicy to RemoteSigned (Basically anything except Undefined and Restricted). If you choose AllSigned instead of RemoteSigned, also local scripts (your own) need to be digitally signed in order to be executed. With RemoteSigned, only Scripts having the "ZoneIdentifier" set to Internet (were downloaded from the web) need to be signed, others not.
If you're an administrator and want to set it for all Users on that machine, use "-Scope LocalMachine".
If you're a normal user, without administrative rights, you can use "-Scope CurrentUser" to set it only for you.
More about PowerShell Scopes: (https://technet.microsoft.com/de-de/library/hh847849.aspx[])
More about PowerShell ExecutionPolicy: (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy[])
Before you're able to run PowerShell scripts on your machine, you need to set your local `ExecutionPolicy` to `RemoteSigned` (basically, anything except `Undefined` and `Restricted`).
If you choose `AllSigned` instead of `RemoteSigned`, also local scripts (your own) need to be digitally signed in order to be executed.
With `RemoteSigned`, only scripts having the `ZoneIdentifier` set to `Internet` (were downloaded from the web) need to be signed, others not.
If you're an administrator and want to set it for all users on that machine, use `-Scope LocalMachine`.
If you're a normal user, without administrative rights, you can use `-Scope CurrentUser` to set it only for you.

More about PowerShell Scopes: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes[].

More about PowerShell ExecutionPolicy: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy[].

To set the value of `ExecutionPolicy` to `RemoteSigned` for all users use the next command:
//////////////////////////
PowerShell 스크립트가 실행되게 하려면 우선 ExecutionPolicy 정책을 RemoteSigned 값(Undefined 또는 Restricted 제외한 허용)으로 변경해야 한다. RemoteSigned 값이 아닌 AllSigned 값으로 설정하면 스크립트를 실행하기 위해 전자서명 과정이 필요하다. RemoteSigned 값으로 설정하면 ZoneIdentifier가 Internet으로 설정된 경우(주로 웹에서 다운로드한 파일)만 전자서명이 필요하고 나머지 파일에 대해서는 전자서명이 필요하지 않다.
PowerShell 스크립트가 실행되게 하려면 우선 'ExecutionPolicy' 정책을 'RemoteSigned' 값('Undefined' 또는 'Restricted' 제외한 허용)으로 변경해야 한다.
'RemoteSigned' 값이 아닌 'AllSigned' 값으로 설정하면 스크립트를 실행하기 위해 전자서명 과정이 필요하다.
'RemoteSigned' 값으로 설정하면 'ZoneIdentifier'가 'Internet'으로 설정된 경우(주로 웹에서 다운로드한 파일)만 전자서명이 필요하고 나머지 파일에 대해서는 전자서명이 필요하지 않다.
Windows 시스템의 관리자 권한이 있다면 모든 사용자가 PowerShell을 사용할 수 있도록 "-Scope LocalMachine" 옵션을 사용할 수 있다.
일반적인 사용자라면 관리자 권한이 없기 때문에 "-Scope CurrentUser" 옵션으로 자신만이 사용가능하도록 설정할 수 있다.
PowerShell의 Scope에 대한 자세한 내용은 https://technet.microsoft.com/de-de/library/hh847849.aspx[] 에서 찾아볼 수 있다.

PowerShell의 Scope에 대한 자세한 내용은 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[] 에서 찾아볼 수 있다.

모든 사용자를 대상으로 `ExecutionPolicy`의 값을 `RemoteSigned`로 변경하려면 다음 명령을 실행한다:

[source,powershell]
-----
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
Expand All @@ -57,22 +70,21 @@ If you have at least PowerShell 5 or PowerShell 4 with PackageManagement install

More information about PowerShell Gallery: https://docs.microsoft.com/en-us/powershell/scripting/gallery/overview[].
//////////////////////////
PowerShell 버전 5 이상을 사용하거나 PowerShell 4를 PackageManagement 모듈(Cmdlets)을 설치해서 사용한다면 패키지 관리자를 통해서 Posh-Git을 설치할 수 있다.
PowerShell 버전 5 이상을 사용하거나 PowerShell 4를 PackageManagement 모듈(Cmdlets)을 설치해서 사용한다면 패키지 관리자를 통해서 posh-git을 설치할 수 있다.

자세한 요구사항은 https://docs.microsoft.com/en-us/powershell/scripting/gallery/overview[] 에서 확인할 수 있다.
자세한 정보는 ttps://docs.microsoft.com/en-us/powershell/scripting/gallery/overview[] 에서 확인할 수 있다.

[source,powershell]
-----
> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
> Update-Module PowerShellGet -Force
> Install-Module Posh-Git -Scope AllUsers
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
-----

//////////////////////////
If you want to install Posh-Git only for the current user and not globally, use "-Scope CurrentUser" instead.
If you want to install posh-git for all users, use `-Scope AllUsers` instead and execute the command from an elevated PowerShell console.
If the second command fails with an error like `Module 'PowerShellGet' was not installed by using Install-Module`, you'll need to run another command first:
//////////////////////////
Posh-Git을 설치할 모든 사용자에 설치하지 않도 자신만 사용하게 "-Scope CurrentUser" 옵션을 적용한다.
사용자 모두가 사용할 수 있도록 posh-git을 설치하려면 `-Scope CurrentUser` 옵션을 사용하며, 관리자 권한으로 실행한 PowerShell 콘솔에서 명령을 실행해야 한다.
코드의 두 번째 명령을 실행했을 때 `Module 'PowerShellGet' was not installed by using Install-Module` 같은 오류 메시지가 발생한다면 다음 명령을 먼저 실행해보기 바란다.

[source,powershell]
Expand All @@ -82,27 +94,33 @@ Posh-Git을 설치할 모든 사용자에 설치하지 않도 자신만 사용

//////////////////////////
Then you can go back and try again.
This happens, because the modules that ship with Windows Powershell are signed with a different publishment certificate.
This happens, because the modules that ship with Windows PowerShell are signed with a different publishment certificate.
//////////////////////////
이 명령을 실행한 후에 앞서 실패한 명령을 다시 실행해본다.
이 오류는 Windows Powershell에 이미 포함되어 배포한 모듈의 인증서가 일치하지 않기 때문이다.
이 오류는 Windows PowerShell과 함께 배포된 모듈의 인증서가 일치하지 않기 때문이다.

//////////////////////////
===== Update PowerShell Prompt
//////////////////////////
===== PowerShell 프롬프트에 Git 정보 표시

//////////////////////////
To include git information in your prompt, posh-git needs to be imported. To do this automatically, include the import statement into you $profile script. This script is executed everytime you open a new PowerShell prompt.
Keep in mind, that there are multiple $profile scripts. E. g. one for the console and a separate one for the ISE.
To include git information in your prompt, the posh-git module needs to be imported.
To have posh-git imported every time PowerShell starts, execute the `Add-PoshGitToProfile` command which will add the import statement into your `$profile` script.
This script is executed everytime you open a new PowerShell console.
Keep in mind, that there are multiple `$profile` scripts.
E. g. one for the console and a separate one for the ISE.
//////////////////////////
PowerShell 프롬프트에 Git 정보를 표시하려면 posh-git을 Import 해야 한다. 이를 자동으로 하려면 import 구문을 $profile 스크립트에 추가하면 된다. 이 스크립트는 PowerShell 프롬프트가 나타날 때 마다 실행된다.
염두해 둘 부분은 $profile 스크립트가 여럿일 수 있다는 점이다. console을 위한 스크립트와 ISE(통합 스크립팅 환경)를 위한 스크립트가 분리되어 있을 수 있다.
PowerShell 프롬프트에 Git 정보를 표시하려면 posh-git을 Import 해야 한다.
이를 자동으로 하려면 import 구문을 $profile 스크립트에 추가하면 되는데 `Add-PoshGitToProfile` 명령을 통해 가능하다.
이 스크립트는 PowerShell 콘솔을 새로 실행할 때 마다 실행된다.
염두해 둘 부분은 $profile 스크립트가 다수라는 점이다.
예를 들어 어떤 것은 PowerShell 콘솔을 위한 스크립트이고 어떤 것은 ISE(통합 스크립팅 환경)를 위한 스크립트이다.

[source,powershell]
-----
> New-Item -Name $(Split-Path -Path $profile) -ItemType Directory -Force
> 'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
-----

//////////////////////////
Expand All @@ -111,19 +129,26 @@ PowerShell 프롬프트에 Git 정보를 표시하려면 posh-git을 Import 해
===== 소스로 설치

//////////////////////////
Just download a Posh-Git release from (https://github.com/dahlbyk/posh-git[]), and uncompress it to the `WindowsPowershell` directory.
Then open a Powershell prompt as an administrator, and do this:
Just download a posh-git release from https://github.com/dahlbyk/posh-git/releases[], and uncompress it.
Then import the module using the full path to the `posh-git.psd1` file:
//////////////////////////
https://github.com/dahlbyk/posh-git[] 에서 Posh-Git을 내려받아 `WindowsPowershell` 디렉토리에 압축을 풀어 놓는다.
그리고 관리자 권한으로 Powershell 프롬프트를 열고 아래와 같이 실행한다.
https://github.com/dahlbyk/posh-git/releases[] 에서 posh-git을 내려받아 압축을 푼다.
그리고 `posh-git.psd1` 파일의 절대 경로를 입력하여 Import-Module 명령으로 모듈을 불러들인다.

[source,powershell]
-----
> cd ~\Documents\WindowsPowerShell\Module\posh-git
> .\install.ps1
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
-----

//////////////////////////
This will add the proper line to your `profile.ps1` file, and posh-git will be active the next time you open your prompt.
This will add the proper line to your `profile.ps1` file, and posh-git will be active the next time you open PowerShell.
//////////////////////////
이렇게 `profile.ps1` 파일 내 적절한 위치에 추가한 `posh-git` 은 PowerShell를 다음 열 때 부터 적용된다.

//////////////////////////
For a description of the Git status summary information displayed in the prompt see: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information[]
For more details on how to customize your posh-git prompt see: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables[].
//////////////////////////
이렇게 `profile.ps1` 파일에 추가한 `posh-git` 은 프롬프트를 새로 열 때 부터 적용된다.
프롬프트에 표시되는 Git 상태 정보에 대한 자세한 내용은 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[] 에서 찾아볼 수 있다.
34 changes: 34 additions & 0 deletions book/A-git-in-other-environments/sections/sublimetext.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//////////////////////////
=== Git in Sublime Text
//////////////////////////
=== Sublime Text

//////////////////////////
From version 3.2 onwards, Sublime Text has git integration in the editor.
//////////////////////////
Sublime Text 버전 3.2 이상에서는 Git 연동 기능이 편집기에 내장되어 있다.

//////////////////////////
The features are:
//////////////////////////
내장된 기능:

//////////////////////////
* The sidebar will show the git status of files and folders with a badge/icon.
* Files and folders that are in your .gitignore file will be faded out in the sidebar.
* In the status bar, you can see the current git branch and how many modifications you have made.
* All changes to a file are now visible via markers in the gutter.
* You can use part of the Sublime Merge git client functionality from within Sublime Text.
This requires that Sublime Merge is installed. See: https://www.sublimemerge.com/[].
//////////////////////////
* 사이드바에 표시되는 파일이나 디렉토리에 아이콘이나 배지로 Git 상태가 표시된다.
* .gitignore 파일에 정의된 파일과 디렉토리는 사이드바에서 연한색으로 표시된다.
* 상태표시줄에서 Git의 현재 브랜치 정보와 얼마나 많은 변경사항이 있는지에 대해 표시된다.
* 파일 편집 화면의 Gutter 부분에서 파일 내 변화한 부분을 표시해준다.
* Sublime Merge 라는 Git Client를 Sublime Text 안에서 사용할 수도 있다.
Sublime Merge가 설치되어 있는 경우 사용이 가능하며 https://www.sublimemerge.com/[] 에서 다운로드 할 수 있다.

//////////////////////////
The official documentation for Sublime Text can be found here: https://www.sublimetext.com/docs/3/git_integration.html[].
//////////////////////////
Sublime Text의 Git 관련 내장 기능에 대한 공식 문서는 https://www.sublimetext.com/docs/3/git_integration.html[] 에서 살펴볼 수 있다.
Loading