アトラシアンSourceTree:行末をグローバルに変更する方法?


10

Atlassian SourceTreeまたは現在のgitホスト(BitBucket)で、すべてのリポジトリの行末をグローバルに変更する方法はありますか?

現在はUnixに設定されていると思いますが(偶然これを行ったと思います)、Windowsのみで開発しています。IDEでファイルの行末が混在しているという警告メッセージとエラーが表示され続けるので修正したいのですが、プロジェクトをクラウドにプッシュするたびに、Unixの末尾に変更されるため、行の末尾を一括変更してもとにかく元に戻ります。

回答:


12

Gitリポジトリのルートフォルダーに特別な.gitattributesファイルを追加することで、リポジトリごとに行末処理を構成できます。このファイルがリポジトリにコミットされると、個々の開発者のcore.autocrlf設定が上書きされます。

このファイルでは、行末を自動検出するようにGitを構成できます。

注:-すべてのグラフィカルGitツールが.gitattributesファイルをサポートしているわけではありません。たとえば、Eclipse IDEは現在サポートしていません。

これが.gitattributesファイルの例です。リポジトリのテンプレートとして使用できます。

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

ファイルが一致することに注意してください。以下では、いくつかの可能な設定について説明します。

text = auto Gitは、最適と思われる方法でファイルを処理します。これは良いデフォルトオプションです。

text eol = crlf Gitはチェックアウト時に常に行末をCRLFに変換します。OSXやLinuxでも、CRLFの末尾を維持する必要があるファイルには、これを使用する必要があります。たとえば、CRLFの行末を強制するWindowsプロジェクトを次に示します。

text eol = lf Gitはチェックアウト時に常に行末をLFに変換します。これは、WindowsでもLFで終わる必要があるファイルに使用する必要があります。以下のため、ここではLFの行末を強制するプロジェクトです。

バイナリ Gitは、指定されたファイルがテキストではないことを理解し、それらを変更しようとするべきではありません。バイナリ設定は、-text -diffのエイリアスでもあります。


外部リンクが利用できなくなる可能性があります。その場合、あなたの答えはほとんど価値がありません。回答に重要な情報を含め、帰属のリンクと詳細情報のソースを使用してください。ありがとう。
fixer1234 2015

これに必要な詳細が含まれているといいのですが
gpullen '26 / 02/26
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.