我是"忽略"我的ConnectionString.config使用update-index --assume-unchanged,因为我在开发过程中经常更改它,并且无论如何都是由我们的构建服务器自动生成的;但是,在执行Pull / Rebase时,操作会失败,因为它会在本地覆盖它,迫使我将其存储然后恢复它。
有没有办法在提交和拉取时忽略文件?我只是希望Git离开它。
答案 0 :(得分:2)
如果您希望这只发生在您的本地系统上,the local .git/info/exclude
file应该可以解决问题。
要从上面的堆叠帖子中重新引用答案:
特定于特定存储库但具有特定存储库的模式 不需要与其他相关的存储库共享(例如,辅助存储库) 存储在存储库中但特定于一个用户的文件 工作流程)应该进入
Rectangle rect = new Rectangle(); rect.Height = 69; rect.Fill = new SolidColorBrush(Colors.Gray); rect.Margin = new Thickness(0, 95, 0, 0); rect.VerticalAlignment = VerticalAlignment.Top; list_grid.Children.Add(rect); TextBlock question_textblock = new TextBlock(); question_textblock.Text = question; question_textblock.Margin = new Thickness(10, 103, 10, 0); question_textblock.FontWeight = FontWeights.Bold; list_grid.Children.Add(question_textblock); TextBlock answer_textblock = new TextBlock(); answer_textblock.Text = question; answer_textblock.Margin = new Thickness(10, 124, 10, 0); list_grid.Children.Add(answer_textblock); list_grid.UpdateLayout();
。
$GIT_DIR/info/exclude file
文件的格式与任何.gitignore文件相同。另一种选择是将core.excludesFile设置为包含全局模式的文件的名称。
注意,如果您已经进行了非分段更改,则必须在编辑ignore-patterns后运行以下命令:
.git/info/exclude
关于$ GIT_DIR 的注意事项:这是一个用吉祥手册all over表示的符号,仅用于指示git存储库的路径。如果设置了环境变量,那么它将覆盖你所在的任何回购的位置,这可能不是你想要的。
答案 1 :(得分:1)
您可以尝试使用assume-unchanged
标志
https://git-scm.com/docs/git-update-index
指定此标志时,不会更新为路径记录的对象名称。
相反,此选项设置/取消设置"假设未更改"路径的位。
当"假设不变"如果位为on,则用户承诺不更改文件并允许Git假定工作树文件与索引中记录的文件匹配。如果要更改工作树文件,则需要取消设置该位以告知Git。当在具有非常慢的lstat(2)系统调用(例如cifs)的文件系统上处理大项目时,这有时很有用。
如果需要在索引中修改此文件,Git将失败(优雅地),例如合并时提交;因此,如果上游更改了假定未跟踪文件,则需要手动处理该情况。
答案 2 :(得分:0)
是否有任何理由需要将文件签入您的git存储库?如果没有,请将其从存储库中删除并将其添加到.gitignore
:
git rm filename.foo
echo "filename.foo" >> .gitignore
git add .gitignore
git commit