web-dev-qa-db-ja.com

Windowsのようにgitのシェルを使用するにはどうすればよいですか?

Windowsを使用すると、Gitリポジトリにいるときに、シェル(標準のWindowsシェルも含む)がgitリポジトリに関する基本情報を表示します。アクティブなブランチとおそらくいくつかの色分けのようなもの。

Ubuntuで同じことをする方法はありますか?

9

実際には単なるbashであるWindows Git Shellは、プロンプト$PS1$(__git_ps1)を含む長い文字列に設定します。

__git_ps1は、現在のブランチの名前をカッコで囲んで出力する、100行近くの関数として定義されています。

/etc/profile(少なくとも私のシステムではC:\Program Files (x86)\Git\etc\profile)は、/etc/git-completion.bash関数を定義し、__git_ps1関数を設定し、$PS1を設定し、git固有の一部を定義しますとりわけ完了。

Git Bashが使用するgit-completion.bashは、 this に基づいているようです。

4
Keith Thompson

カラーの場合:

git config --global color.ui true
4
Justin Seiter
  • bashプロンプトカラーのエスケープを停止する方法 に例を示します。答えからコピーしてから、geditを使用してホームディレクトリの.bashrcファイルの最後に貼り付けます(もちろん、最初にバックアップを作成します)。

  • キースが答えで言及している.bashrcファイルがgitの一部である場合、GPL2でライセンスされるため、.bashrcファイルにも自由に貼り付けることができます。 /etc/git-completion.bashファイルを取得してどこかにインストールし、新しい.bashrcがそれを参照するようにする必要があります。

  • 以下に貼り付けて、Arturo Fernandezから試してみてください http://www.bsnux.com/recipes/how-display-you-current-git-branch-Prompt.html

#プロンプト内のgitブランチの表示
 function parse_git_branch {
 git branch --no-color 2>/dev/null | sed -e '/ ^ [^ *]/d' -e 's/* \(。* \)/(\ 1)/' 
} 
 
 function proml {
 local GREEN = "\ [\ 033 [0; 32m \]" 
 local WHITE = "\ [\ 033 [0; 37m \]" 
 
 PS1 = "[\ u @\h\w $ GREEN\$(parse_git_branch)] $ WHITE\$" 
 PS2 = '>' 
 PS4 = '+' 
 } 
 proml 
1
John S Gruber

シェルとしてzshを使用している場合、 my config files が便利です。 source Prompt/blockyを試して、Gitリポジトリでのプロンプトの表示を確認します。

1
pconley