GIT忽略已使用exclude进行本地更改的提交文件

Moh*_*ain 2 git

我克隆了有三个文件的远程存储库

file1.txt 
file2.txt
file3.txt
Run Code Online (Sandbox Code Playgroud)

我的机器本地更改为file3.txt.我不希望更改进入远程仓库,反之亦然.

我读到使用.gitignore,无法忽略已经提交和跟踪的文件.

我决定使用.git/info/exclude文件和以下行

排除文件

file3.txt
Run Code Online (Sandbox Code Playgroud)

但是仍然在file3.txt中进行的更改显示为非暂存文件.我希望在提交和登台时忽略此file3.txt,还需要阻止file3.txt从远程仓库更新

在此先感谢您的帮助

Von*_*onC 7

我读到使用.gitignore,无法忽略已经提交和跟踪的文件.

它是,与.gitignore.git/info/exclude.

您只需要先记录该文件的删除.

git rm --cached file3.txt
Run Code Online (Sandbox Code Playgroud)

一旦删除(仅从缓存中,而不是从硬盘驱动器),a git status不应该显示它(因为它已经在了.gitignore)

请参阅" " git rm --cached x"vs" git reset head — x"? ":"cache",也称为"index"或"staging area",仅从索引中删除文件并将其保留在工作副本中.

file3.txt将不再在回购中进行版本控制.
一旦删除将被提交并推送,这将传播到其他克隆.


如果您只需要在本地忽略该文件一段时间,您可以尝试:

git update-index --assume-unchanged -- file3.txt
Run Code Online (Sandbox Code Playgroud)

注意:这根本不涉及.gitignore.

要在本地停止忽略更改:

git update-index --no-assume-unchanged -- file3.txt
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

773 次

最近记录:

10 年,6 月 前