мерзавец путаница - PullRequest
       2

мерзавец путаница

0 голосов
/ 04 марта 2012

Я только вчера начал использовать GIT и пытался что-то сделать, но я думаю, что-то где-то пошло не так.Позвольте мне объяснить мою ситуацию:

Я начал с того, что мой рабочий каталог (основная ветвь) выглядел следующим образом

folder1
file1
file2
file3

Я создал другую ветку с командой $ git checkout -b X

После этого я пошел дальше и удалил все файлы, которые были в папке rm -r *, а затем добавил несколько файлов, так что рабочий каталог стал таким (это, я думаю, я не должен был делать)

xFile1
xFile2

Затем, после некоторых тестов и после того, как я пришел к тому, что ветвь была стабильной .. я хотел выполнить слияние, и я сделал

$ git checkout -b master
$ git merge X

Теперь, после слияния, мой каталог(folder1) был удален.Что я на самом деле хотел, так это перенести xFile1 и xFile2 в основную ветку.

Я так запутался с этим, пожалуйста, помогите!

Ответы [ 3 ]

1 голос
/ 04 марта 2012

Часть вашей путаницы выглядит так, как будто вы предполагали, что слияние проигнорировало вашу операцию удаления.Фактически, когда вы удалили файлы и зафиксировали это изменение, они запомнили это.Слияние с мастером, а затем воспроизвести это удаление.

1 голос
/ 04 марта 2012

Вы, вероятно, должны иметь перебазированный вместо слияния.Ребаз - это больше, чем вы пытаетесь выразить - у вас есть хороший код base в X, и вы хотите добавить то, что в master, поверх того, что вы вставили в X.

Если вы используете git rebase X из master ответвления, он будет воспроизводить все коммиты в master поверх X

0 голосов
/ 04 марта 2012

Вы создали коммит в ветви X, прежде чем вернуться к мастеру? В противном случае, это всегда может привести к неудачам в git.

...