2013-09-09 3 views
1

У меня есть проект с ведущей ветвью и веткой развития. Все изменения должны быть зафиксированы в ветке разработки. Я случайно передал мастерскую ветку и подтолкнул ее к Гитубу. Эта фиксация необходима в ветке разработки. Так как трудно отменить последний толчок, я думаю, что было бы неплохо объединить эту фиксацию в ветку разработки, а затем я объединить ветвь разработки обратно в главную ветку.Git merge случайная фиксация для ветки развития

Если я это сделать:

git fetch origin 
git branch 

я получаю это:

* master 

И если я делаю это:

git checkout development 

Я получаю это:

error: The following untracked working tree files would be overwritten by checkout: 
(all kinds of files) 
Aborting 

ответ

1

Поскольку у вас есть личные файлы, чтобы очистить, прежде чем быть в состоянии изменить ветку, я бы рекомендовал фиксировать ситуацию в новом клоне первый:

git clone https://[email protected]/username/reponame anewclone 
cd anewclone 
git checkout -b development --track origin/development 
git merge master 
git checkout master 
git merge development 
git checkout development 
git push origin development 
git push origin master 

Тогда вы можете рассмотреть, какие файлы на исходном репо, что отличается от индекса развития в вашем втором клоне:

cd anewclone 
git --work-tree=/path/to/first/clone status 

Это будет использовать второй клон, но с рабочим деревом из первых, и позволит вам добавить любой отсутствующий файл.

+0

Если вы не нажмете мастера, почему танец сливается с ним (что просто продвигает его к «развитию», потому что между ними нет выборки и, следовательно, обязательно перемотка вперед)? –

+0

@JanHudec правый. ответ отредактирован. «мастер» нажал. – VonC

0

Возможно, у вас есть локальные файлы, неизвестные master, но известны как development. Если вы не боитесь потерять изменения, сделанные в эти локальные файлы, вы можете добавить флаг силы -f к кассе:

git checkout -f development 

Я хотел бы посмотреть на файлах, которые мерзавец сетует (действительно сохранить их в отдельной папке, если что заставляет вас чувствовать себя более безопасным), и откуда они, возможно, пришли.