4

重複の可能性:
バージョン管理システムとは? Git はどのように役立ちますか?

私たちは NetBeans IDE を使用する PHP プロジェクトを持っています。

すべての作業をオンラインで行います (ユーザーのコンピューターとサーバーのデータベースの互換性の問題のため)。

php ファイルを netbeans に保存すると、自動的にファイルがサーバーにアップロードされます (ファイルを保存するときにテストしたいので、ファイルをテストするにはオンラインにする必要があるためです)。

問題は、私たちがチームであり、zend フレームワークの MVC を使用しているため、同じコントローラー (ファイル) で作業することが何度もあるということです。(ただし、アクションは異なります)。

編集する前にすべてのファイルをダウンロードするようにお互いに教え合っていたときに、古いローカル ファイルを新しい変更 (他の人の新しい変更ではありません) でアップロードしたときに、誤ってお互いのコードを削除してしまったことがありました。 )間違いを犯します。

間違いがどこで起こったのか、そして間違いが起こったのかどうかを見つけるのは非常に困難です。すべてのコードではなく、アップロード後に自分のコードのみをテストするためです。そして、問題は「その問題はどこから来たのか、私はそのたわごとをチェックした」のように検出されます

私たちは、この種の問題を抱えた地球上で最初のチームではないことがわかりました。大規模な検索の後、3文字の単語ソリューションを完成させましたGIT

しかし、私がgitを勉強している間、それは異なる編集のファイルのバックアップに過ぎないようです.

git はそのように役立ちますか?

4

2 に答える 2

3

Git は、多くの開発者が 1 つのファイルを編集している状況で役立ちます。ファイルの別々の部分を編集する場合は完全に自動で実行され(マージの競合は発生しません)、誰かが同じ部分を編集した場合は手動で操作する必要があります(マージの競合を解決する)。

于 2012-08-02T10:08:53.940 に答える
1

コミット時にNetbeansとgitを構成し、サーバーであるリモートホストにプッシュする必要があります。これが完了すると、同じファイルを一緒に編集する際に、git を使用して (開発およびライフ) サーバー上のコードを最新の状態に保ちながら、共同作業を行うことができます。

これは、コミット前およびコミット後のフックで実行できます。サーバー上では、いわゆるベアリポジトリを実行できます。

マージの競合が発生すると、サーバーは変更の受け入れを拒否する可能性があるため、開発版にプッシュする前に、まずボックスでマージの競合を解決する必要があります。

その後、いつでも開発バージョンからステージング サーバーまたはライフ サーバーにプッシュできます。タグ付けを使用する場合、クリックで公開できるソフトウェア バージョンもあります。

Git は、インストールが簡単で、使いやすく、分散型であるため、ここで非常に役立ちます。過去数年間、git ほど私のソフトウェアの作成方法と公開方法に影響を与えたものはありません。

于 2012-08-02T10:24:44.990 に答える