私の理解でgit add
は、あなたは基本的にローカルの git リポジトリに「はい、これらの変更を行いたいと確信しています」と言っているということです。
私の理解でgit commit
は、実際に変更をローカルの HEAD ブランチに保存することです。この時点で、それらは実際にはバージョン管理されていますが、git のインスタンスに対してのみローカルです。
私の理解でgit push
は、保存された (コミットされた) 変更をマスター リポジトリに反映させることで、他の開発者 (またはおそらく CI ビルド) が自分でそれらをプルダウンできるようになります。
これまでの私の発言が間違っていたり、誤解を招いたりしている場合は、まず訂正してください。私の理解が正しいと仮定すると、もともとJavaプロジェクトに次のようなパッケージがありました。
com.myapp.server.servlets
FizzServlet
BuzzServlet
しかし、その後、いくつかの新しいファイル/パッケージを追加および削除するだけでなく、名前といくつかのものをリファクタリングすることにしました。
com.myapp.server.servlet
FizzesServlet
WidgetServlet
com.myapp.server.servlet.impl
FizzesServletImpl
WidgetServletImpl
全体として、このディレクトリには 5 つの変更が加えられています。
com.myapp.server.servlets
名前を「 」から「com.myapp.server.servlet
」に変更しましたFizzServlet
名前を「 」から「FizzesServlet
」に変更しましたBuzzServlet
まるごと削除- 新たに追加
WidgetServlet
com.myapp.server.servlet.impl
2 つの子ファイルを含む新しいパッケージを追加しました
ここで特別なコマンド マジックを実行する必要がありgit push *
ますか? SVN Eclipse プラグインで、パッケージまたはソース ファイルの名前を変更し、その変更をコミットしようとすると、ファイルが完全に (ローカルで) 失われ、ローカル履歴から復元する必要がありました。それでも数え切れないほど火傷を負い、多くの仕事を失いました。Git で同じような経験をしないことを願っています。