私は Git で日々の開発作業用のローカル ブランチを持っています。私のワークフローは次のとおりです。
- local_branchで作業を行い、コミットする
- オリジン/マスターを取得
- origin/master からの新しい情報に追いつくために local_branch をリベースします。
すべて正常に動作しますが、私が遭遇した推奨事項のほとんどでは、リベースが定期的に実行されるプライベート ブランチを「プッシュ」すべきではないとされています。
ここでの問題は、この場合、ローカル ブランチがサーバーにバックアップされておらず、作業を保存する唯一の方法は、それを「プッシュ可能な」ブランチ (つまり origin/master) にマージすることであるということです。
この場合のワークフローに関してどのような推奨事項がありますか?
ありがとう!
アップデート: 私が当初持っていた要件の 1 つ (外部ユーティリティの使用を避ける) が不必要な制限であることに気付きました。
私の現在の解決策は、すべてのリポジトリをクラウド同期フォルダーに保存することです。この方法では、無料でバックアップを取得できます。
ベストアンサー1
--mirror オプションを使用して、個人用バックアップ リポジトリにプッシュします。
リモートとして追加します:
git remote add bak server:/path/to/backup/repo
バックアップを実行します:
git push --mirror bak
これにより、バックアップ リポジトリがアクティブなリポジトリのように自動的に作成され、必要に応じてブランチが作成、削除、更新されます (強制的/非 fastforward も)。これにはエイリアスを作成することもできます。
git config alias.bak "push --mirror bak"
その後は、バックアップを実行したいときに「git bak」を実行するだけです。これを cron ジョブに組み込むこともできます。