所以我需要将rails 2.3.14 app升级到rails 3.我们使用git,所以决定创建另一个分支'rails3'(git checkout -b rails3)。我发现升级问题的最简单的解决方案是删除所有东西并生成一个新项目并从master中复制/粘贴控制器,视图等。但是现在git status
告诉我这些文件已被删除并重新生成,而不是已修改,尽管它们大多数都在以前的相同位置。所以变化仍然模糊不清,其他程序员不会看到文件的细微变化。
我做了什么:
/path/to/rails_project/ (master) $ git checkout -b rails3
/path/to/rails_project/ (rails3) $ rm -rf ./* # not git rm
/path/to/ $ rails new rails_project
/path/to/rails_project/ (rails3) $ cp old/project/stuff/from/another/dir
我如何'告诉'git这些文件被修改,而不是删除和重新生成?我将升级后的应用程序放在一个完全不同的目录中,这样可以很好地破坏宇宙并从头开始。
答案 0 :(得分:0)
如果你在下面说的是正确的话,git是正确的
"我发现升级问题的最简单的解决方案是删除所有内容并生成新项目并从主服务器复制/粘贴控制器,视图等。"
如果文件符合您的要求,为什么不呢: git add git commit
答案 1 :(得分:0)
Git不会自动删除任何内容。您必须使用的是调用git rm ...
然后git add ...
的IDE或编辑器,而您却没有看到它。
要避免这种情况,请在命令行或使用更明显的工具时使用git。对于同一文件的内容而不是git rm
和git add
,请使用git mv
。当你使用并添加时,git有时会自行计算移动,但是使用mv它不需要猜测。