我注意到,每当我在Visual Studio中使用复制粘贴复制文件时,原始文件的Git历史记录都会复制到新文件中.我们如何避免这种情况?

我希望该文件被视为新文件,而不是现有文件的克隆.重命名文件不会删除历史记录.

编辑:我发现旧文件的历史记录仅显示在Visual Studio的GIT历史记录选项中.如果我判断BitBucket中的文件历史记录,它只显示新的文件历史记录.即使在VISUAL STUDIO代码GIT插件中,历史也显示了我所期望的.这看起来像是Visual Studio中的错误,或者是我需要关闭的某些设置.

我指的是通过在Visual Studio中的文件的上下文菜单中单击Git历史记录选项来查看的历史记录. Git history context menu

推荐答案

Git不会跨副本/重命名存储文件的历史记录.当它扫描历史时,如果它在repo中发现类似的文件,它只是假设文件被复制或移动.因此,某些东西是否是副本是由while you inspect the history确定的,而不是在您提交更改时确定的.因此,这是客户端对gittry 识别副本的密集程度的设置.

一些Git客户端(例如TortoiseGit,见下图)允许更改跟随重命名行为.

enter image description here

Csharp相关问答推荐

如何使用PDFSharp将文本添加到现有PDF

无法将blob发送到Azure -缺少HTTP标头异常

如何使用CsvReader获取给定列索引的列标题?

dotnet集合中内部数组的局部变量副本的用途是什么?'

如何在页面重新加载后保持菜单切换状态

C#-从基类更新子类

当用户右键单击文本框并单击粘贴时触发什么事件?

ASP.NET核心MVC SqlException:违反主键约束';PK_USER';.无法在对象';数据库中插入重复的密钥.用户';

更改执行目录

Docker Container中的HttpRequest后地址不可用

调用Task.Run()与DoSomethingAsync()有什么不同?

如何使用XmlSerializer序列化带有CDATA节的XML文件?

如何在我的C#应用程序中设置带有reactjs前端的SignalR服务器?

如何管理Azure认证客户端响应和证书 fingerprint

在被Interactive Server切换后,Blazor SSR页面无法正确加载JS

CRL已过期,但ChainStatus告诉我RevocationStatus未知

此异步方法在重写方法中缺少等待运算符警告

如何使用.NET Aspire从Blazor应用程序与GRPC API通信?

C#Microsoft.CodeAnalysis.CSharp.Scriiting不等待并行.对于

Linq SELECT的多条指令