問題タブ [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.
python - すべてのgitプロジェクトで、すべての「gitdiff」コマンドに「Pythondiff」を使用させることは可能ですか?
ラインを含める場合
ローカルの.gitattributesファイルで、git diff
Pythonファイルのさまざまな差分ハンクの適切なラベルを生成します(変更が行われる関数の名前など)。
すべてのgitプロジェクトのすべてのPythonファイルにこのdiffモードを使用するようにgitに依頼することは可能ですか?グローバルな〜/ .gitattributesを設定しようとしましたが、ローカルのgitリポジトリでは使用されていません。新しいgitプロジェクトをそれぞれ初期化するよりも便利な方法はありますか?ln -s ~/.gitattributes
ruby - フィルタの実行時にgitattributesを介してフィルタの対象となるファイルを特定するにはどうすればよいですか?
私はgitリポジトリにたくさんのrubyスクリプトを持っていますが、適切にインデントされたコードを書くように人々に強制するのは本当に難しいようです。
また、特定の標準に合わせてコード化する小さなルビースクリプトがあります。これをフィルタースクリプトとして実行して、ジャンクがリポジトリにコミットされないようにします。
ダーティトリックのgit側を実行しますが、rubyスクリプトは影響を受けるファイルを処理する必要があります。
どのように/どこからそれらを検索しますか?
git - gitにファイルの将来のリビジョンを無視させるにはどうすればよいですか?
gitリポジトリに含まれるファイルのデフォルトバージョンを作成しました。誰かがリポジトリのクローンを作成するときに、このファイルのコピーを取得することが重要です。ただし、後でこのファイルへの変更を無視するようにgitを設定したいと思います。 .gitignore
追跡されていないファイルでのみ機能します。
私の動機は、このファイルにマシン固有の情報が含まれていることです。デフォルト値を提供すると同時に、元のリポジトリにプッシュバックされないローカル変更をユーザーが行えるようにし、新しい変更をプルするときにマージの競合を作成したいと思います。
私たちは一般的にかなり怠惰でgit add .
多くを使用しているので、このファイルを無視するようにgitに指示できない場合、ファイルへの変更はコミットされてプッシュされることになります。
要約する、
default_values.txt
ファイルを作成して、gitリポジトリに追加され、誰かがそのリポジトリのクローンを作成したときに含まれるファイルを呼び出したいと思います。git add .
default_values.txt
コミットに追加しないでください。- この動作は、リポジトリのすべてのクローンに渡す必要があります。
git - ファイルの一部をフィルタリングするようにgitattributesを設定するにはどうすればよいですか?
Visual Studio 2010とgit(git svn)を使用しています。私の同僚は、Ankhsvnプラグインで純粋なsvnを使用しています。
Gitソース管理プロバイダーを有効にしてファイルを開こうとすると、VisualStudionは次のように文句を言います。
ソース管理プラグイン
アクティブなソリューションまたはプロジェクトは、選択したものとは異なるソース管理プラグインによって制御されます。ソース管理のプラグインを変更すると、アクティブなソリューションまたはプロジェクトが閉じられます。
続けたいですか?
[はい]をクリックすると、空のソリューションが開きます。[いいえ]をクリックすると、ソリューションアイテムの横にあるすべてのgit固有のアイコンが表示されず(ソリューションエクスプローラーにブランチ名が表示されます)、ソリューションを開くたびにソース管理プラグインについてのプロンプトが表示されます。
同僚がソリューションを作成したsvnリポジトリのクローンを作成すると、slnファイルには次のものが含まれます。
GlobalSection(SubversionScc)= preSolution Svn
-Managed = True
Manager = AnkhSVN-VisualStudioEndGlobalSectionのSubversionサポート
このセクションを削除しました。Gitソース管理プロバイダーをアクティブにすると問題なくソリューションが開きますが、Ankhsvnプロバイダーを選択すると文句が表示されます。状況は逆になります。
プル中に.slnファイルのこの部分を削除し(git svn fetch)、コミット時に追加するようにgitに指示したいと思います(git svn dcommit)。これはgitattributesとその方法で可能ですか?
編集:
追加しました
solutionname.sln filter = ankhsvn
$ GIT_DIR / info/attributesへ
と
私の.git/configファイルに。
ankhsvnsectionには、スマッジ操作によって削除されるセクションが含まれています。何もしていないようです!
git - この git smudge/clean フィルターの何が問題になっていますか?
このフィルターを git リポジトリに適用して、チェックアウト時にソリューション ファイルからセクションを削除し、コミット時にこのセクションを追加したいと考えています。
これは、削除または追加したいセクションです。
このフィルターを .git/info/attributes に設定しました
*.sln filter=SourceControlProvider
これらのコマンドを構成に追加しました
まあ、うまくいきません。私は何を間違えましたか?
ankhsvnsection は、*.sln ファイルと同じディレクトリにあるテキスト ファイルです。
git - Git、Kohana、PHPFog のワークフロー
Kohana 3 には環境定数、具体的には PRODUCTION、STAGING、TESTING & DEVELOPMENT が含まれています (議論はこちら)。
.htaccess ファイルで SetEnv を使用してこれらの定数を設定することをお勧めします (議論はこちら)。
例えば:
プロダクション .htaccess:
開発.htaccess:
Git で異なるバージョンの .htaccess ファイルを管理する方法を探していました。私は分岐を見ましたが、VonCは素晴らしい回答を提出し、それが最善のアプローチではない可能性があることを示唆しています。
VonC はさらに、解決策として.gitattributes フィルター ドライバーを提案しました ( Pro Gitの説明)。
.gitattributes フィルター ドライバーを使用するというアイデアは気に入っていますが、理解できる「ハウツー」の例を見つけるのに苦労しました (Pro Git の例は私より少し上でした)。
PHPFogを使用してデプロイしています。アプリケーションをデプロイするには、クローンとプッシュを行う必要があります。
だからここに私の質問があります:
- これは、Kohana で環境変数を設定するための正しいアプローチですか?
- PHPFog で .gitattributes フィルター ドライバーを使用できますか?
- 環境変数を .htaccess ファイルに追加するフィルターを作成するにはどうすればよいですか?
git - .gitattributesパターンを無視するgit
私はこのようなディレクトリ構造を持っています:
編集:上記をさらに明確にするために、ディレクトリには末尾が/
あり、子はディレクトリの下にインデントされているためblah
、more_blah
ディレクトリですがRakefile
、.gitattributes
ファイルですが、4つすべてがの子ですSite
。
私は次のようgit-archive
にディレクトリから実行しています:Site
しかし、.gitattributesにどのようなパターンを入れても、結果のアーカイブには常に。が含まれますRakefile
。私はもう試した:
- Rakefile
- サイト/Rakefile
- * / Rakefile
- ./Rakefile
- Rakefile *
- *
それらのどれも私が期待するように動作しません。明白であるが私には自明ではない解決策を指摘してくれる人はいますか?どんな助けでも大歓迎です。
はっきりしないことをお詫びします。
- 使用しているパターンが機能していないようですが、パターンの後に「export-ignore」を使用しています。
Rakefile
ディレクトリではなく、単なるファイルです.gitattributesファイルは、アーカイブから他のパターンを削除することに成功し、特定のファイルの名前を変更したが、名前を変更してコミットをアーカイブしなかったため、これは正しくありません。いくつかの良い結果が得られたようです。私の悪い!:SRakefile
使用される唯一のパターンではありませんが、機能しない唯一のパターンです。単独でも他のパターンでも、ファイル内のどの場所でも機能しません。
これは私のです.gitattributes
(ディレクトリに座っていますSite
)
git - gitattributeseol設定によるステージングされていないコミットの上書き
.gitattributesが原因でクローン作成時にeolが自動的に変更されるフォークがあります。これはアップストリームで修正されています。上流をマスターにマージしたいと思います。ただし、これらのステージングされていない変更を取り除くことはできません。リセットできず、何かが足りない場合を除いて、それらを隠しておくことはできません。アップストリーム/マスターをマスターにマージして、これらのローカルのステージングされていない「変更」を上書きするにはどうすればよいですか?
git - フックするかしないか-git
特注のIDEは、バイナリファイルのように見えるエンコーディングでXMLファイルを出力します。これらのファイルの差分とマージは失敗します。
コマンドを使用して、これらのファイルのASCIIバージョンを作成できますtr
。これらのファイルがコミットされる前に、常に自動的にASCIIに変換される状態にしたいと思います。
私はGitでバージョン管理のコピーを手に入れましたが、本当に必要な場合を除いて、フックを使用しないように心から警告しています。
この目的でフックを使用する必要がありますか?または、コミットする前にファイルが常に変換されるようにするために何か他のことをすることはできますか?
msysgit1.7.4を搭載したWindowsXP
-=更新=-
あなたの助けと忍耐をみんなに感謝します。この質問を見て、私は次のことを試しましたが、機能しません:
この構成の変更後、ファイルは変更されません。削除して再チェックアウトしても。
tr
クリーンタスクとして設定されたコマンドは、単独で機能します。証拠:
誰かが私の設定の何が問題になっているのかわかりますか?
git - gitattributes を使用して特定の eol を使用するようにサブディレクトリ内のすべてのファイルを設定するにはどうすればよいですか?
ローカル システムの autocrlf に関係なく、特定のファイルが常に lf を使用し、crlf を使用しないように設定しようとしています。
プロジェクトのルートに .gitattributes のみを含む .gitattributes を作成しようとしましたが、.gitattributesSquishIt.Tests/js/*.js eol=lf
も試しSquishIt.Tests/js/ eol=lf
ました。これらの試行の両方をリモートにプッシュしてから、ローカルで 2 回クローンを作成しようとしました。/js/ の下のファイルは、autocrlf がグローバルにオンになっているため、どちらの場合も常に CR+LF で表示されました。
不明な場合に備えて、私はWindowsマシンを使用しています。私が達成しようとしていることは可能ですか?