首页 > 解决方案 > 如何在不修改文件的情况下将现有目录添加到现有仓库中的版本控制?

问题描述

我必须将一个相当大的项目置于版本控制之下,它有两个版本(开发和产品)。多年来,这两者通过手动复制文件保持“大部分同步”,但是 - 显然 - 它们彼此之间存在很大差异。

开发版本已经在 git 中,现在我需要将生产版本也置于版本控制之下,但不要修改任何现有文件以避免丢失代码。我的计划是首先 gitignore 生产目录中的所有文件,当我处理它们以手动删除任何差异时,我会慢慢将它们添加回来,直到添加所有文件并且我可以正常git pull进行任何代码更改。

我尝试的方法是*:

  1. 进入生产目录
  2. git init
  3. git fetch --all
  4. git checkout origin:release -- .gitignore获取正常的 gitignore 文件
  5. 将行添加**/*到 .gitignore
  6. git checkout release

如果我不检查现有的 gitignore 并且只使用一个干净的 .gitignore**/*作为唯一的行,git 仍然会更新文件。

我认为由于.gitignore我的工作目录中新添加的行可以在结帐时安然无恙,但我错了。

有没有办法在不更改我的工作目录的情况下获取所有内容并转到发布分支?

* 我使用了生产目录的副本以避免意外破坏任何东西

标签: gitgitignoregit-checkout

解决方案


推荐阅读