2011-10-12 15 views
8

私は今gitとテストするのが初めてです。ローカルマシンでは頻繁にコミットします。間隔を置いてコードを中央リポジトリにプッシュしたいと思います。この時点で、私はすべてのコミットを公開します。私が一人で働くとき、これは大きな問題ではありませんが、複数の開発者がプロ​​ジェクトで作業するとき、混乱します。一方、私はローカルマシンにすべてのローカルコミットを保存したいと思っています。git push、すべてのローカルコミットをプッシュしないでください

これはgitで作業する良い方法ですか?これは可能ですか?あるいは私は間違った方法を考えていますか?

+0

両方の答えは確かにこれを行う方法です。とても学ぶべきことは:-) – Patrick

答えて

5

これに対処する方法の1つは、ローカルリポジトリの個人的な開発ブランチにすることです。これは単なる通常のブランチで、何も特別なものではありませんが、git pushを実行するとブランチ上のコミットは中央リポジトリにプッシュされません。変更を共有する準備ができたら、個人ブランチからのコミットをマスターブランチにマージし、中央リポジトリにプッシュすることができます。

このバリエーションは、作業中の論理的な機能ごとに新しいブランチを開始することです。そのため、1つの大きな開発ブランチではなく小さな個人開発ブランチがたくさんあります。次に、それらのブランチをマスターブランチにマージした後、フィーチャーブランチを削除することができます。

3

Gitのワークフローでは、ローカルの(早くて頻繁に)コミットを論理的な一連のコミットにクリーンアップすることをお勧めします。これは、git rebase -iの機能と他のツールを使用して行うことができます。これで、必要に応じてコミットを並べ替えたり、編集したり、分割したり、分割したりすることができます。その後、のコミットセットをサーバーにプッシュします。もちろん、ローカルにも保ちます。

このワークフローは決して必要ではありません。詳細なコミットをすべてサーバーにプッシュアップすることができます(しかし、あなたはそれが "混沌"になると主張します)。あるいは、あなたの仕事を一回のコミットに入れて押し上げることができます。あなたが合理的に行うことができないことは、別のセットをローカルに維持しながら、1つのコミットをサーバーにプッシュすることです。

+0

ブランチを使用する場合は、別のセットをローカルに維持しながら、1つのコミットをサーバーにプッシュできます。 – jcoffland

関連する問題