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

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

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

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

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

Q&A

解決済

3回答

1609閲覧

GitHubからPJを「Download ZIP」でダウンロードすると、改行コードがLFに変換される

IkazoIchikawa

総合スコア38

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

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

1グッド

1クリップ

投稿2018/05/07 14:12

実現したいこと

GitをインストールしていないPCで、
GitHubのソースコードを改行コードを変換せずにダウンロードしたいです。

発生している問題

該当PJの「<>Code」タブから「Clone or download」をクリックすると、
「Download ZIP」ボタンが現れるので、それをクリックしてダウンロードすると、
テキスト形式のファイル内の改行コードがCRLFからLFに変換されてしまいます。
(一方、Cloneした場合は変換されません)

改行コードの変換が邪魔なのでこの機能を外したいのですが、
これは可能でしょうか?

GitHubのProfileページにそれらしい項目が見つけられなかったので知りたいです。

よろしくお願いします。

set0gut1👍を押しています

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

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

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

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

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

guest

回答3

0

ベストアンサー

CRLFtestDownload Zipした後にtest.txtの内容をのうさみみハリケーン(ソフト)で確認してみましたが、改行コードはそのままでした。
イメージ説明

あとCRLFオンリーなファイルの内容を1ファイル(crlfonly.bas)確認しましたが、以下の画像の用に改行コードはLF(0A)になっていました。
イメージ説明

念のため、他のバイナリエディタ(FavBinEdit)をダウンロードし、確認してみましたが結果は同じでした。


推測ではgit clone/push時にautocrlf / .gitattributesの設定で変換されているだけに見えますが
「autocrlf sourcetree」のキーワードでググってみては?

投稿2018/05/07 15:49

編集2018/05/07 18:11
umyu

総合スコア5846

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

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

IkazoIchikawa

2018/05/08 11:29

解析いただきありがとうございます。 autocrlf設定を見直してみたところ、原因が判明しました。 git の global の .config で、「core.autocrlf=true」となっていました。 過去に system の .config で「core.autocrlf=false」としていたので、 git側の変換設定はdisableにしていたつもりでしたが、globalの設定が上書書かれて動作していました。 すべての autocrlf を false に設定してから 新しいリモートリポジトリにプッシュし直してみたところ、 CRLF改行なファイルのままプッシュできていました。 協力くださった お3方 のご指摘どおりでした。 ありがとうございました。
guest

0

それは逆です
ZIP形式の方がオリジナルで、
clone で落としてきたほうが変換されてます

投稿2018/05/07 14:21

y_waiwai

総合スコア87719

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

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

IkazoIchikawa

2018/05/07 15:27

アドバイスありがとうございます。 maisumakunさんと同様の指摘と理解しました。 しかしコメントにある通り、Download時に変換されるようなのです。
guest

0

テキスト形式のファイル内の改行コードがCRLFからLFに変換されてしまいます。

(一方、Cloneした場合は変換されません)

逆に、「GitHubのリポジトリがLFで書かれていて、git cloneすると文字コードがCRLFに変換されている」という可能性はないでしょうか。

投稿2018/05/07 14:20

maisumakun

総合スコア145121

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

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

IkazoIchikawa

2018/06/19 13:43 編集

アドバイスありがとうございます。 検証用に新しいPJをGitHubに立ててみましたが、 やはりDownload ZIPの時にLFに変換されるようです。 <やってみたこと>-------------------------------------------------------------- 1. CRLFを改行コードにしたファイルと、CRLF, LF, CRを改行コードとして混在するファイルを UTF-8で作成して、GitHubにプッシュする https://github.com/*****/CRLFtest 2. ローカルリポジトリを削除して、プッシュしたPJをクローンする  →プッシュした時の改行コードとクローンした改行コードが一致することを確認 3. GitHub の Download ZIP でPJをダウンロードする  →「CRLFを改行コードにしたファイル」の改行コードがLFになっていることを確認 --------------------------------------------------------------<やってみたこと> 環境によって、ご指摘のような事象が発生するのでしょうか? 当方の環境は以下のとおりです。 ■OS  Windows7 (64bit) ■Git  git version 2.16.2.windows.1  ※クライアントアプリにSourceTree(Ver2.5.5.0)を使用   ■<やってみたこと>で作成したファイルのエディタ  SakuraEditor(Ver2.2.0.1)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問