問題タブ [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.
git - .gitattributes で指定された行末動作に反するファイルをコミットすることは可能ですか?
ファイルが特定のディレクトリに追加された場合、.gitattributes
正確に次の内容になります。
新しいファイルまたは以前に正規化されたファイル(たとえば、すべての LF 行末) がそのディレクトリにコミットされ、正規化されない可能性がある方法はありますか? つまり、モードを指定して有効にした後、新しい CRLF 行末をリポジトリに導入できる方法はありますか?.gitattributes
text
言い換えると、この.gitattributes
ファイルは、新しい CRLF 行がファイルを含むディレクトリ内のファイルにコミットされるのを防ぐ絶対に確実な方法ですか? 私は、ファイルが完全に十分であり、CRLF を除外するためのさらなる手段 (サーバー側のフックなど) が不要であることを同僚に納得させたいと考えています。*.txt
.gitattributes
.gitattributes
回答は、によって指定された行末動作をオーバーライドすることは不可能であることを確認するか、ファイルを回避していくつかの CRLF 行末に忍び込む.gitattributes
方法を説明する反例を提供する必要があります。.gitattributes
git - Git がファイルを台無しにして、ところどころに漢字が表示される
免責事項: Git とは、「私」がめちゃくちゃになったことを意味します。
先ほど、バイナリ ファイルと見なされるをgit-gui
示したいと思いました。diff
だから私は自分にいくつかの変更を加えました.\.gitattributes
しかし、うまくいきませんでした。 それから私は私のにいくつかの変更を加えました.\.git\info\attributes
そしてそれはうまくいきました。
しかし、以前のコミットに戻ると、めちゃくちゃになります...
これはどのように見えるべきかです:
すべてのファイルで発生するわけではありません。編集:特殊文字を含むファイルでのみ発生します。
Q: コミット自体の問題ですか、それとも設定の問題ですか?
Q:回復できますか?
linux - 環境変数に基づいて .gitignore を構成可能にすることは可能ですか?
環境変数に依存する .gitignore ルールに追加することは可能ですか?
例えば
基本的に私が望むのはif ENV_VAR = "AAA"
、ローカルリポジトリにあるようなリポジトリを持つことa.txt
であり、設定されていない場合ENV_VAR
は a.txt が削除されます。
git - .gitattributes パターンの空白
私はsmudge/clean filtersを利用する git 用のツールを書いているので、ファイルにエントリを作成する必要があり.gitattributes
ます。
残念ながら、そのファイルは空白で分割するだけで解析されるため、パターンに明示的なスペース文字を含めることはできないようです。
空白文字を に置き換えています。これは?
、0 または 1 文字と一致します。
したがって、 のパターンは のhas?spaces
ターゲット ファイル名と一致しますがhas spaces
、hasspaces
.
スペースのみを一致させる方法はありますか、またはほぼ一致で立ち往生していますか?
git - git add の前にスクリプトを自動的に呼び出す方法は?
私のユースケースは次のとおりです。GitリポジトリでPNGやその他のものをコミットします。コミットしたいすべての PNG に特定のプロセスを適用したいと思います。これは、最終的にコミットしたいプロセスの結果です (変更された可能性のある PNG)。
最初はフック(のような)について考えましたpre-commit
が、プロセスによってファイルが変更されるため、少し奇妙で、再度追加する必要があります。そして、私が読んだpre-add
ことによると、フック(またはそのようなもの)はありません。
解決策は git エイリアスを作成することでしょうか? でも、人の働き方をあまり変えたくないので、スムーズで透明性のある方法を探しています。
手がかりがあれば... その手がかりが私のプロセスのアイデアを変えることであっても。
git - 「git status」が .gitattributes clean フィルターを無視するのはなぜですか?
コミットする前にファイルからすべてのコメントを削除する.gitattributesクリーン フィルターがあります。
そして、次のコンテンツを含む「テスト」ファイルがあります(リポジトリにコミットされています):
ここで、「test」に変更を加えてコメントを追加します。
git status
今私に言います:
しかしgit diff
空です(そうあるべきです)。
git status がフィルターを使用してファイルが変更されたかどうかを判断しない理由は完全には明らかではありませんが、これが実装方法であると思います。
私にとって本当に不思議なのは、次のとおりです。
私がこれを行う場合:
その後、突然、ファイル「test」は変更済みとしてマークされなくなり、git インデックスに表示されなくなります。どうしてこれなの?