Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何恢复我的项目';在不破坏Visual Studio的情况下进行Git回购?_.net_Git_Visual Studio_Web Site Project_Web Application Project - Fatal编程技术网

.net 如何恢复我的项目';在不破坏Visual Studio的情况下进行Git回购?

.net 如何恢复我的项目';在不破坏Visual Studio的情况下进行Git回购?,.net,git,visual-studio,web-site-project,web-application-project,.net,Git,Visual Studio,Web Site Project,Web Application Project,让我的git存储库进入VisualStudio项目所需状态的最简单方法是什么 在VisualStudio中,我们从一个网站项目开始。该网站的当前生产版本主要是该网站项目的一个(旧)分支,除了对生产进行的一些关键修复之外 我们聘请了一些承包商为网站添加新功能,他们将我们的代码导入(新的)Web应用程序项目,然后更新文件并向我们发送请求。因为文件路径如此不同,而且其他一些更改非常痛苦,我将网站项目的开发分支转换为Web应用程序项目,重新定位文件以匹配新路径,然后将它们的更改合并到,手动修复它们新的W

让我的git存储库进入VisualStudio项目所需状态的最简单方法是什么

在VisualStudio中,我们从一个网站项目开始。该网站的当前生产版本主要是该网站项目的一个(旧)分支,除了对生产进行的一些关键修复之外

我们聘请了一些承包商为网站添加新功能,他们将我们的代码导入(新的)Web应用程序项目,然后更新文件并向我们发送请求。因为文件路径如此不同,而且其他一些更改非常痛苦,我将网站项目的开发分支转换为Web应用程序项目,重新定位文件以匹配新路径,然后将它们的更改合并到,手动修复它们新的Web应用程序项目和转换的Web应用程序项目之间的所有合并冲突(如果您从未在VisualStudio项目的XML配置文件中手动固定合并冲突,请考虑您自己的幸运)。 因此,如果你想象一下我们的git repo,现在有两个分支受到质疑:dev,它已经成为一个Web应用程序项目;prod,它仍然是一个Web站点项目,由于……原因,它与实际的生产站点稍微不同步

客户尚未批准dev中的更改,也不可能很快批准这些更改;但是,他们确实需要对生产进行关键更改(与以前对生产进行的修补程序更改不同),该更改的范围足够大,需要通过完整的开发/质量保证/批准流程来运行

在这一点上,将整个站点作为一个Web应用程序项目是有好处的(当站点作为一个Web站点项目创建并首先签入git时,这些好处是不相关的)。我对git的最佳攻击计划是什么,它不会导致Visual Studio中的项目崩溃,但会让我找到一个新的或恢复的开发分支,它既是一个Web应用程序项目,又符合实际的生产状态


我知道它可能会涉及至少一个新分支来处理生产代码和开发分支的Web应用程序项目结构之间的合并,但我不知道从哪里开始。我是否在prod的顶部签出dev?在dev的顶部进行Prod?一个新的空分支,我在其中按某种顺序将它们都签出?

我对Visual Studio不是很熟悉,但我认为您应该将project从生产分支转换为Web应用程序项目,并使dev分支中的文件路径和生产分支中的文件路径尽可能相似,然后将它们合并。

Visual Studio使用Git。不是某种VS-only Git

我的建议是创建一个新分支,我将其称为
webappfeature

因此,
git签出开发
git分支web应用程序功能
。现在您有了一个新的分支,它指向与
dev
相同的提交。现在我们需要将
dev
移动到
master
,这在Git中非常简单。执行
git reset--hard master
,它指示当前
(这是
dev
,因为它是我们最后一次签出)指向与
master
相同的提交

现在你的回购协议看起来有点像


*-*-*-*-*这是实现的一部分(存储开发状态并进入反映[旧]生产的分支),但它不涉及生产分支仍然是错误类型项目的部分。你知道如何集成项目级别的更改(不同的配置文件和更改的路径),而不必手动重放所有这些移动吗?重置repo中的状态应该重置项目类型,不是吗?