問題タブ [gitattributes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
404 参照

git - .gitattributes と行末の正規化: 変更されたファイルがまだそこにある

.gitattributes の動作と混同しています。

行末の正規化に関する記事に従って、次の手順を実行しました。

  • で作成された.gitattributes* text=auto
  • 私が持っている開発用Windowsマシンでcore.autocrlf = true
  • 私が持っている私のビルドLinuxマシンでcore.autocrlf = input
  • を実行している開発マシンで行末の正規化を実行しgit rm --cached -r . && git reset --hard && git add . && git commit -m "normalized" && git push develop origin/developました。

私の考えによると、最後のステップでは、最終的に LF エンディングを持つすべてのテキスト ファイルをリポジトリにプッシュする必要があります。その瞬間から、すべてのコミットとチェックアウトは、どのプラットフォームでも行末の衝突に悩まされることはありません。

しかし、ビルド Linuxマシンでレポを複製すると、すぐに変更済みとしてマークされた多数のファイルを取得しました。ビルド マシンの作業コピーで .gitattributes 行を# * text=auto(コメント付き) に変更すると、すべてが正常になります。

それはなぜですか、そして私は何を間違っていますか?

0 投票する
0 に答える
497 参照

windows - git: リベース中にユニオン戦略と自動的にマージする

git rebase追加したすべての行を保持して、.csproj ファイルを自動的にマージしたい:

2 つの問題があります。まず、これはバイナリ警告で失敗します:

2番目の問題は、ファイルがテキストであると正しく判断されますが(理由はわかりません)、私の他のレポにありますが、それでもマージに失敗します。

0 投票する
0 に答える
74 参照

git - ファイルが gitattributes のルールと一致しない場合、コミット/追加を中止します

基本的にはタイトルがすべてです。

何らかの理由で、現在のリポジトリ内のファイルが gitattributes ファイル内のどのパターンとも一致しない場合、ファイルの追加/コミットを中止する必要があります。

これを使用して、core.eol、core.autocrlf、および core.safecrlf にまったく依存しないようにしたいと考えています。

gitattributesのマンページには、これについて何も書かれていません。これまでに見つけたgitattributesに関する他のトピックもありません。

0 投票する
1 に答える
3019 参照

git - "openssl"] は有効な属性名ではありません: .git/info/attributes:5

ファイルに属性を設定すると、次のエラーが発生し.git/info/attributesます。

ファイルの内容:

更新しました:

0 投票する
4 に答える
8206 参照

git - gitattributes の "!eol" は何をしますか?

最近、.gitattributes ファイルで次のエントリを見つけました。

"* text=auto !eol"

何をし!eolますか?

0 投票する
3 に答える
49757 参照

git - `.gitattributes` ファイルの `text=auto` の目的は何ですか?

ほとんどの.gitattributesファイルには* text=auto. text=autoそのファイルの目的は何ですか?

0 投票する
1 に答える
1868 参照

linux - `.gitattributes` ファイルを使用して Git リポジトリの行末を修正する

修正が必要なもの:

.md私が書いているエッセイを含む単一のファイルを含むリポジトリがあります。

Linux を実行している 1 台と Windows を実行している 2 台のコンピューターからファイルを編集します。

いくつかの変更を加えた Windowsで agit diffを見ると、エッセイが適切に区切られたテキスト行として表示されていることがわかります...すべてが削除され、段落が^Ms で区切られた 1 つの長い行に置き換えられようとしています。

^MWindows の CLRF 行末を参照していることは承知しています。

diff結果は、Linux でファイルを開始し (完全に可能です。覚えていません)、それを Windows に保存し、すべての行末が置き換えられたことを意味します。

diff両方の OS でファイルを開き、必要に応じて行が表示され、 (プレースホルダーではなく) 改行が表示さ^Mれ、実際のコンテンツのみが変更される結果が得られるようにしたいと考えています。

私が試したこと:

背景を読んだり、行末と Git 設定の概要を読んだり、別の Stack Overflow questionのコマンドに従ってみたりしました。

.gitattributes現状では、リポジトリ自体にコミットしたリポジトリの最上位に1 つのファイルがあります。次の 2 行だけが含まれています。

私はこれを試しました(source):

そしてこれ(ソース):

2 番目のケースでは、最後のコマンドで、コミットするものが何もないことがわかります。core.autoclrf(純粋に を介してこれを行おうとしているので、を変更するという考えも好きではありませんが、.gitattributesイライラしています。)

喜んで質問に答え、詳細を提供します。私が間違っている可能性のあるアイデアはありますか?手順がありませんか?

0 投票する
2 に答える
8932 参照

git - git archive : export-ignore、ディレクトリを無視

私はこれを含むgitリポジトリを持っています.gitattributes:

しかし、私が作るとき:

ディレクトリで、archive_dirディレクトリを取得し、次のようにhookstestsます。

なんで?

私のgitバージョンは1.7.9です。