我不知道这是多么典型,但我需要做的是替换本地存储库的一部分。
我在Team Foundation Server(TFS)中启动了git存储库,其中包含一个包含多个项目的Visual Studio解决方案。结构与Visual Studio中的类似:
Solution Folder (root)
|
|- WPF
|
|- C# services
|
|- Angular App // <-- I want to replace just this
远程存储库中的Angular应用程序包含错误代码,并且已经从头开始重建。我只需要完全替换git存储库的Angular App部分!
最好的方法是什么?同样,Visual Studio解决方案的其余部分必须保持不变并且正常工作。
我希望在提交任何新的Angular文件之前,先前版本的Angular应用程序已经在远程存储库中消失了。
我可以通过简单地删除本地文件夹中的所有Angular文件,然后执行&#39; git push&#39;来删除所有Angular文件,因为本地文件夹中没有任何内容吗?
然后我可以将我新工作的Angular应用程序复制到本地文件夹中,然后执行另一个“git push&#39;”,它应该将所有新的Angular文件提交到同一个现有的远程存储库吗?
最重要的是,我无法保留以前的Angular应用程序中的任何文件。
答案 0 :(得分:1)
是的,您可以删除文件,提交删除,然后将更改推送到远程。这将消除文件。
但是,这些文件的历史记录仍将在回购中。这是正确和正常的行为。
如果您还需要删除历史记录,则可以重写过去的提交历史记录(使用filter-branch
或专用历史记录重写工具,如BFG)来消除它们。但是,这是一个破坏性操作,因为重写的提交将为其分配新的哈希值,导致每个人都需要重新克隆存储库。就个人而言,我不会打扰。