我使用TortoiseGit 1.8.3。 我更改了其中一个文件:Makefile,但我不想在Git Commit中每次都提交给我。 我将它添加到“删除并添加到忽略列表”,但它没有帮助。 如何在提交中提供我已更改的某些文件?
我想,Makefile在远程存储库中是只读的,我可以在本地编辑它,然后TortoiseGit不提供给我提交。
我想要Git-bash:https://www.kernel.org/pub/software/scm/git/docs/git-update-index.html
答案 0 :(得分:49)
回答TortoiseGit 1.8.15,Git 2.6.1。无需恢复命令行,所有功能都可直接在TortoiseGit中使用。我试图总结一下这个函数可以访问的各种方法。
我假设读者知道“假设未改变”意味着什么。 Here is easy documentation关于此功能。或者有关--assume-unchanged
或git ls-files的原始文档。
TortoiseGit 有三种可能性:在 Commit
对话框中, Working Tree
对话框(检查修改)或 Log Messages
对话框(仅在选择Working dir changes
条目时)。从其中一个对话框执行以下操作:
Assume Unchanged
从 Windows资源管理器中的任何文件列表执行以下操作:
Git
标签Assume valid/unchanged
TortoiseGit 只允许从工作树对话框中删除该标记(检查修改)。
Show ignore local changeds flagged files
assumed valid
或skip worktree
标记的文件都会显示在正常更改的文件下方Unflag as skip-worktree or assume-unchanged
从 Windows资源管理器中的任何文件列表执行以下操作:
Git
标签Assume valid/unchanged
答案 1 :(得分:29)
如果我正确解释问题,Alex想知道如何撤消使用Tortoise Git完成的--assumed-unchanged
操作。
您不需要使用命令行Git来解决此问题:
答案 2 :(得分:3)
如果没有用,那么你需要转到命令行界面,然后检查:
.gitignore
文件的内容(如“TortoiseGit: hide/remove files never to be versioned”中所述)git rm --cached Makefile
的结果。 git status
。我想,Makefile在只读的远程存储库中,我可以在其中编辑它,然后TortoiseGIT不提供给我提交它。
这是不同的:
你需要:
git update-index --really-refresh --no-assume-unchanged Makefile
这将使Makefile
的任何本地修改对git保持不可见,同时将Makefile
置于源代码管理之下。
如果您want your local modifs to resist a git reset
,请执行;
git update-index --skip-worktree Makefile
答案 3 :(得分:0)