Ложная зависимость в Gerrit после git pull

Я сделал следующее в Git, и теперь у меня проблема с ложной зависимостью.

  1. Создал новую ветку, используя git checkout -b fixPlayer
  2. Я внес некоторые изменения в код, а также создал несколько новых файлов, а затем подготовил их для фиксации с помощью git add -A.
  3. Затем я зафиксировал изменения через git commit
  4. Затем через пару дней я создал новую ветку, используя git checkout -b fixLaserAim
  5. (Я думаю, где начался хаос). Я подумал, что моя локальная рабочая копия «мастера» может быть устаревшей, поэтому в этой ветке я запустил git pull. Я думаю, что это вызвало какую-то проблему слияния. Итак, я переключаюсь обратно на master, обновляю его (git checkout master, git pull), затем снова переключаюсь на свою вторую ветку, git checkout -b fixLaserAim.
  6. Я заканчиваю свои изменения для fixLaserAim, этап для фиксации, git add -A, и фиксирую его git commit.
  7. Наконец, я переключаюсь на свою предыдущую ветку "fixPlayer" и нажимаю ее, git push origin HEAD:refs/for/master, а затем переключаюсь на свою ветку "fixLaserAim" и делаю то же самое.

Оба эти изменения появляются в Gerrit, но по какой-то причине "fixLaserAim" отмечает, что это зависит от "fixPlayer". Эти два файла не касаются одних и тех же файлов, и я пытаюсь выяснить, как удалить эту зависимость в Gerrit, потому что он блокирует автоматические сборки и изменения, которые в конечном итоге попадают в производство.

Как я могу решить эту проблему?


person Cloud    schedule 12.10.2013    source источник
comment
почему вы хотите удалить зависимость? каждый коммит зависит от предыдущего коммита - это нормально. когда вы отказываетесь от коммита, тогда зависимые коммиты должны быть отправлены снова.   -  person laplasz    schedule 14.10.2013
comment
Как избавиться от ложных зависимостей   -  person laplasz    schedule 14.10.2013
comment
Я уже нашел этот вопрос, но это не помогает, так как я действительно создавал новую ветку для каждого патча.   -  person Cloud    schedule 14.10.2013
comment
у вас есть идентификаторы изменений в сообщении фиксации? возможно, вы неправильно сделали вторую ветку: git checkout -b fixLaserAim создана из fixPlayer, где уже была сделана фиксация (3-й шаг). Вы пытались создать новую ветку из мастера? git checkout -b fixLaserAim origin/master   -  person laplasz    schedule 14.10.2013
comment
Как насчет stackoverflow.com/questions/7367147/   -  person random    schedule 15.10.2013


Ответы (1)


В конце концов, это была ошибка на стороне сервера в самом Git. Решено.

person Cloud    schedule 12.03.2014