Как да създадете/бутате/дърпате hg голо отдалечено репо на bitbucket.org

Имам локален проект с hg init. Създадох празно отдалечено репо в bitbucket.org. URL адресът е например https://bitbucket.org/myusername/helloworld. Искам го като голо отдалечено репо без работна директория.

Според инструкцията в Bitbucket, докато създавам нов представител, мога да кача моето локално репо в отдалеченото репо с помощта на hg push, но то съдържа работната директория.

cd \path\to\myproject
hg push https://[email protected]/myusername/helloworld

Как мога да създам голо отдалечено репо, което е клонинг на моя локален проект (репо)?
И мога ли да правя синхронизиране/натискане/дърпане с голото отдалечено репо без работна директория?


person Sithu    schedule 21.10.2013    source източник


Отговори (1)


Мисля, че тук има известно объркване. Всички репо в bitbucket са "голи" (всъщност не е жива дума). Не можете да видите работната директория в bitbucket (тя е на техните сървъри), така че ако заключите, че вашето репо в bitbucket е „голо“, вие гледате грешното нещо или не разбирате какво означава терминът.

Вашето локално репо може да се нарече „голо“, ако локалната работна директория няма файлове. Можете да видите как изглежда това, като направите hg update null. Можете да върнете файловете обратно във вашата работна директория, като направите hg update. Но гол/без мечка има смисъл само когато говорите за клонинг, до който имате дисков достъп. Когато следвате тези стъпки за bitbucket по-горе, вие създавате „празно“ хранилище в BB без набори от промени в него и след това hg push премества тези набори от промени (известни още като ангажименти) там. След това вече не е празен, но все още е "гол".

person Ry4an Brase    schedule 21.10.2013
comment
Нов съм в mercurial/git. Така че съм доста объркан относно термините и логиката. Бих могъл да използвам термина гол за моето локално репо, ако има само папка .hg. Ако всички хранилища в bitbucket са голи, те представят работната директория от .hg/store/data? Тогава push/pull взаимодействат само с .hg/store/data? Не качвате/изтегляте действителните работни файлове? - person Sithu; 22.10.2013
comment
Вие сте прав във всички тези твърдения. Bitbucket има много тясна интеграция на ниво хранилище и те обслужват файловете и изграждат своите уеб дисплеи изцяло от това, което е в пространството .hg/.... Във всяко репо push и pull засягат само пространството .hg/..., а не работната директория. Ще откриете, че дори hgweb, който се доставя с Mercurial, е по същия начин. Опитайте това: hg update null ; hg share. Локално няма да имате файлове в работната си директория, но посетете URL адреса с уеб браузър, ето ги. В крайна сметка: голи срещу неголи е детайл на внедряването, ако репото не е на вашата машина. - person Ry4an Brase; 22.10.2013