У мене є голе сховище, яке використовується як центральний магазин для мого проекту. Усі розробники хочуть git clone <repo>поділитися з нею. Коли вони роблять клон, вони отримують замовлення головного відділення (якщо вони не роблять git clone -n), оскільки repo.git/HEADмістить ref: refs/heads/master, роблячи це Активним Відділенням .
Питання в тому, як я можу правильно змінити Активну гілку ? Я міг би просто зламати repo.git/HEADфайл безпосередньо, але це здається неприємним і, ну, хакі.
Я намагався робити git checkout <otherbranch>в .gitкаталозі репо , але це не вдалося, оскільки я не був у робочому дереві.
Я спробував, git update-ref HEAD refs/heads/otherbranchале щойно оновлені refs / heads / master були такими ж, як refs / heads / otherbranch (добре, я це зробив у фіктивній сховищі, а не в моєму виробництві!)
Я спробував, git update-ref --no-deref HEAD refs/heads/otherbranchі це майже вийшло. Він оновив HEADфайл, але встановив його на SHA1 комітету, на який вказував refs/heads/otherbranch.
Я тестую версію git 1.7.0.2.msysgit.0.
Я здогадуюсь, що немає способу зробити це через те git push, що дозволити всім і різному змінити гілку за замовчуванням здається трохи небезпечною (!), Але, безумовно, є кращий спосіб зробити це в .gitкаталозі репо, ніж безпосередньо зламати HEADфайл.