git - 如何在不修改文件的情况下将现有目录添加到现有仓库中的版本控制?
问题描述
我必须将一个相当大的项目置于版本控制之下,它有两个版本(开发和产品)。多年来,这两者通过手动复制文件保持“大部分同步”,但是 - 显然 - 它们彼此之间存在很大差异。
开发版本已经在 git 中,现在我需要将生产版本也置于版本控制之下,但不要修改任何现有文件以避免丢失代码。我的计划是首先 gitignore 生产目录中的所有文件,当我处理它们以手动删除任何差异时,我会慢慢将它们添加回来,直到添加所有文件并且我可以正常git pull
进行任何代码更改。
我尝试的方法是*:
- 进入生产目录
git init
git fetch --all
git checkout origin:release -- .gitignore
获取正常的 gitignore 文件- 将行添加
**/*
到 .gitignore git checkout release
如果我不检查现有的 gitignore 并且只使用一个干净的 .gitignore**/*
作为唯一的行,git 仍然会更新文件。
我认为由于.gitignore
我的工作目录中新添加的行可以在结帐时安然无恙,但我错了。
有没有办法在不更改我的工作目录的情况下获取所有内容并转到发布分支?
* 我使用了生产目录的副本以避免意外破坏任何东西
解决方案
推荐阅读
- javascript - 如何在输入中制作可拖动但不可编辑的标签
- c# - C# JSON 模型结构
- video-streaming - 如何设置我的主机名而不是 Wowza RTMP url
- spring - 如果 POST 请求中缺少请求正文,最合适的错误消息是什么?
- c++ - VTK/C++ - 将自定义 PolyData 上的标量值着色为自定义颜色
- javascript - 使用 d3.v5/JavaScript 在 html 页面中加载外部数据以避免跨站点脚本
- mysql - 使用mysql REGEXP_SUBSTR在两个字符或字符串之间提取字符串
- python - 抓取:从 pandas 中恢复 gleif 信息
- datetime - SAS 将字符串转换为 datetime18
- flutter - DropDownButton 不显示我选择的选项