2013-10-10 4 views
0

У меня есть удаленный репозиторий git с ветвями A и B. A - родительский элемент B. В настоящий момент они пусты.Git добавление к родительской ветке

Мне нужно получить тот же код в A & B, не сливая их. Не осознавая, в какой ветке я был включен, я сделал git-фиксацию в ветке B. Когда я проверяю ветку A и пытаюсь выполнить добавление/фиксацию там, я получаю сообщение «ничего не делать (рабочий каталог clean)». Как я могу получить файлы, совершенные в этой ветке?

Да, я понимаю, что это странный способ делать что-то. Я не ищу комментариев о том, как организован репозиторий.

ответ

2

ветка в git - это просто указатель на совершение, поэтому, когда вы выписываете A, фиксации на ветку B там не будет. Вы можете сделать git cherry-pick B выбрать последний коммит от B к A.

Я думаю, ваш репо выглядит,

A--> C0 <-- B 

в начале, то вы извлекаете B и фиксации, что делает его похожим,

A--> C0 
     | 
     C1 <-- B 

дайте мне знать, если это не так

+0

Спасибо, я полный мерзавец n00b и очень смущен по этому вопросу. Когда я проверяю A, файлы, которые я совершил в B, все еще там. Если я удалю их в A, тогда статус git на A показывает удаление. Правильно ли я предполагаю, что, поскольку эти ветви были пустыми, то, что я положил в B, будет отображаться в A (пока они не отклонятся от изменений/изменений)? – Maxthecat

+0

Дивергенция не имеет большого значения, A и B - всего два указателя на ваши коммиты. –

+0

@Maxthecat: Ничего себе, вы определенно смущены :-) Ветви не являются «пустыми», и они не «полны», они просто ярлыки, причем каждое название ветки указывает на одну фиксацию. Вы должны проработать (по крайней мере некоторые) книги [Pro Git] (http://git-scm.com/book), которая бесплатна онлайн. – torek

Смежные вопросы