В Git я сделал следующее, и теперь у меня проблема с ложной зависимостью.Ложная зависимость в Gerrit после git pull
- создал новую ветвь, используя
git checkout -b fixPlayer
- Я сделал некоторые изменения в коде, и создали новые файлы тоже, а затем поставил для фиксации с помощью
git add -A
- я тогда совершил изменения через
git commit
- Затем я создал новую ветку через пару дней, используя
git checkout -b fixLaserAim
- (Где начался хаос, думаю,). Я думал, что моя местная рабочая копия «мастера» может быть устаревшей, поэтому в этой ветке я побежал
git pull
. Я думаю, что это вызвало какую-то проблему слияния. Поэтому я возвращаюсь к мастеру, обновляю его (git checkout master
,git pull
), затем переключитесь обратно на вторую ветвь,git checkout -b fixLaserAim
. - Я завершаю свои изменения для fixLaserAim, этап для фиксации,
git add -A
и совершает егоgit commit
. - Наконец, я переключаюсь на свою раннюю ветку «fixPlayer» и нажимаю ее
git push origin HEAD:refs/for/master
, а затем переключаюсь на ветку «fixLaserAim» и делаю то же самое.
Оба эти изменения появляются в Gerrit, но почему-то «fixLaserAim» отмечает, что он зависит от «fixPlayer». Эти два не касаются одних и тех же файлов, и я пытаюсь выяснить, как удалить эту зависимость в Gerrit, потому что она блокирует автоматические сборки и изменение в конечном итоге переходит в производство.
Как исправить эту проблему?
Почему вы хотите удалить зависимость? каждая фиксация зависит от предыдущего фиксации - это нормально. когда вы отказываетесь от фиксации, затем необходимо переместить зависимые коммиты. – HiB
[Как избавиться от ложных зависимостей] (http://stackoverflow.com/questions/10402285/how-to-get-rid-of-false-dependencies-in-gerrit) – HiB
Я уже нашел этот вопрос, но это не помогает, поскольку я действительно создал новую ветку для каждого патча. – DevNull