TortoiseGit1.8.3を使用しています。ファイルの1つであるMakefileを変更しましたが、GitCommitで毎回コミットすることを提案したくありません。 「削除して無視リストに追加」に追加しましたが、役に立ちません。変更したファイルの一部をコミットで提供されないようにするにはどうすればよいですか?
Makefileが読み取り専用としてリモートリポジトリにあり、ローカルで編集できるようにしたいのですが、TortoiseGitはコミットを提案しません。
私がGit-bashに欲しかったこと: https://www.kernel.org/pub/software/scm/git/docs/git-update-index.html
TortoiseGit 1.8.15、Git2.6.1に対する回答。コマンドラインに戻る必要はありません。すべての機能はTortoiseGitで直接利用できます。この関数にアクセスするさまざまな方法を要約してみました。私は読者が「変化しないと仮定する」の意味を知っていると思います。 ここに簡単なドキュメントがあります この機能について。または、 --assume-unchanged
またはgit ls-files に関する元のドキュメント。
TortoiseGitには3つの可能性があります:Commit
ダイアログでは、Working Tree
ダイアログ(変更をチェック)またはLog Messages
ダイアログ(Working dir changes
エントリが選択されている場合のみ)。これらのダイアログの1つから、以下を実行します。
Assume Unchanged
を選択します
Windowsエクスプローラーの任意のファイルリストから、次の手順を実行します。
Git
タブに移動しますAssume valid/unchanged
TortoiseGitでは、Working Treeダイアログからのみフラグを削除できます(変更を確認してください)。
Show ignore local changeds flagged files
をチェックしてくださいassumed valid
またはskip worktree
フラグが付いているすべてのファイルは、通常の変更されたファイルの下に表示されますUnflag as skip-worktree or assume-unchanged
を選択します
Windowsエクスプローラーの任意のファイルリストから、次の手順を実行します。
Git
タブに移動しますAssume valid/unchanged
それでも問題が解決しない場合は、コマンドラインインターフェイスに移動して、次のことを確認する必要があります。
.gitignore
ファイルの内容(「 TortoiseGit:バージョン管理されないファイルの非表示/削除 」で説明されています)git rm --cached Makefile
の結果。git status
の結果。Makefileが読み取り専用のリモートリポジトリにあり、ローカルで編集できるようにしたいのですが、TortoiseGITはそれをコミットするように提案しません。
これは異なります:
必要なもの:
git update-index --really-refresh --no-assume-unchanged Makefile
これにより、Makefile
をソース管理下に置きながら、gitに対してMakefile
「invisible」へのローカル変更が行われます。
ローカルmodifにgit reset
に抵抗したい場合は、;
git update-index --skip-worktree Makefile