現在チェックアウトされていないブランチをリセットすることはできますか?
git svn fetch
実行し、svnリモートブランチを追跡するすべてのローカルブランチを新しい変更で更新するcronスクリプトを作成したいと思います。
確かに、簡単に。
git update-ref -m "message" refs/heads/whatever new-value old-value
メッセージは、reflogに表示したいものです。省略できます。
old-value
競合状態を回避するためにあります。更新前にrefにその値が残っていることを確認するため、処理中に別のスクリプトがrefを更新すると、操作は失敗します。競合状態のリスクがない場合は、それを指定する必要はありません。
もちろん、あなたは自分が何をしているのかを知る必要があります。重要なリビジョンをそこに落とさないように注意してください。
また、チェックアウトされたブランチに対してこれを実行してはなりません。を実行して、ブランチをチェックアウトしないようにするのが最も便利な場合がありますgit checkout HEAD@{}
。これにより、特別な参照HEAD
がコミットIDを直接保存するようになります。任意の参照を更新でき、戻ってきてgit checkout
必要なものを何でも更新できます。