0

したがって、Rails 2.3.14 アプリを Rails 3 にアップグレードする必要があります。git を使用するため、別のブランチ「rails3」を作成することにしました (git checkout -b rails3)。アップグレードの問題に対して私が見つけた最も簡単な解決策は、すべてのものを削除し、新しいプロジェクトを生成し、コントローラー、ビューなどをマスターからコピー/貼り付けることでした。しかし、これらのファイルのほとんどは以前と同じ場所にありますが、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 に「伝える」にはどうすればよいですか? アップグレードしたアプリはまったく別のディレクトリにあるので、コスモスを内破して最初からすべてを実行しても問題ありません。

4

2 に答える 2

0

Git は自動的に何も削除しません。呼び出していた IDE またはエディターを使用していたのにgit rm ...、それgit add ...が表示されなかったに違いありません。

これを回避するには、コマンド ラインで git を使用するか、よりわかりやすいツールを使用します。また、同じファイルの場合はと の代わりにgit rm、を使用します。rm と add を実行すると、git が自動的に動きを把握することがありますが、mv を使用すると、推測する必要はありません。git addgit mv

于 2013-05-16T18:33:58.330 に答える