質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

1回答

3412閲覧

GitHub Desctop on Windows7 で git diffコマンドを使ったpatch作成で日本語の文字化けが起きないようにする方法

MasafumiOkamoto

総合スコア254

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

1クリップ

投稿2016/07/11 09:08

編集2016/07/12 04:03

お知恵を拝借したく、初めて質問を書きます。

やりたいこと

Windows環境上でGit管理下のリソースのpatchファイルを作成したい

事象

Windows環境にて、GitHubを使用するためにGitHub Desctopをインストールし、「Git Shell」でコマンドを使用しています。
Git ShellはWindowsなので、PowerShell上でGitコマンドが使用できるものです。

GitHub上のリポジトリでは、UTF-8の文字コードで作成されたHTMLやPHPのリソースを管理しています。

管理しているリソースには当然、日本語が含まれています。

patchファイルを作成したくて、git diffコマンドの結果をリダイレクトしてファイルに書き出すと、日本語が文字化けしました。

PowerShell上でリダイレクトや、パイプをすると、UTF16に変換されるようです。
ですが、git diffコマンドの出力結果をUTF8以外の想定で、そこからUTF16にコード変換しようとしているらしく、日本が化けてしまいます。

試しに、次のようなコマンドでgit diffコマンドの結果をファイル出力し、サクラエディタで開くとShift-JISと判定されます。

git diff develop | Out-File -encoding default -filepath ..\out.diff

サクラエディタでUTF8で開きなおしてみると、部分的に読めるところと、部分的に化けてしまうところとができている状態で出力されているようです。

環境と制約

  • OS: Windows7 64bit
  • GitHub Desctop v3.1.1.4
  • お客様の環境なので、許可のないソフトを自由に入れることはできません
  • CygwinなどUNIXライクな環境がインストールできません
  • GitHub Enterpriseなためか、プルリクエストからのpatch取得(ブラウザ上)ができませんでした。
C:\Users\***\Documents\GitHub> git --version git version 2.8.1.windows.1 C:\Users\***\Documents\GitHub> $PSVersionTable Name Value ---- ----- CLRVersion 2.0.50727.5485 BuildVersion 6.1.7601.17514 PSVersion 2.0 WSManStackVersion 2.0 PSCompatibleVersions {1.0, 2.0} SerializationVersion 1.1.0.1 PSRemotingProtocolVersion 2.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Git shell ( Power shell ) を開いたあと、次のコマンドを打てばutf8で文字化けは発生しなくなります。

chcp 65001

その後は以下でdiffをファイルへ出力できます。

例:

git diff develop | Out-File -filepath D:/diff.txt

投稿2016/07/12 02:00

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MasafumiOkamoto

2016/07/12 02:54

試してみました。 何度も・・・w 結果的に、PowerShellが落ちます。 Out-Fileせずにコンソール上に表示させると、日本語の含まれる行だけ表示されず、画面描画が崩れました。
A-pZ

2016/07/12 03:09

なるほど私の環境もほぼ同じで、chcpする前は文字化けしてしまいましたが、chchp 65001指定した後は問題なく出力できました。 ちなみにGithub DesktopのバージョンならびにPower Shellのバージョンはいくつでしょうか。 こちらはGithub Desktop 3.1.1.4 / Power Shell 2.0で動作確認済みです。
MasafumiOkamoto

2016/07/12 04:05

Github Desktop を最新にアップデートして再度試してみましたが、結果変わらず、PowerShellが落ちました。
MasafumiOkamoto

2016/07/12 07:37

Power Shellが落ちる件はひとまず自己解決です。 出力先のファイルをサクラエディタで開いた状態でOut-Fileを実行すると、Power Shellごと落ちるという現象のようです。 今まで落ちていた原因が全てこれかと言われると怪しい部分もあるのですが・・・ これ以外に再現できないので、ひとまず、本件解決とします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問