У мене виникають проблеми з вишкою. На моїй місцевій машині я зараз перебуваю на своєму "майстерному" відділенні. Я хочу зайняти вишню в комітеті з іншої гілки, названої "зебра". Гілка «зебри» - віддалена гілка.
Отже, статус git:
# On branch master
nothing to commit (working directory clean)
Гаразд, зараз я намагаюся вибирати зобов’язання, яке я хочу:
git cherry-pick xyz
fatal: bad object xyz
де "xyz" - це підпис комітету, який мене цікавить, що сталося на гілці "зебри".
Отже, перше очевидне питання полягає в тому, чому я не можу знайти git, який я посилаюся? Я не дуже розумію, як це працює в першу чергу, якщо чесно. Чи зберігає git щось подібне до бази даних комітетів локально у моєму робочому каталозі для всіх інших відділень? Виконуючи команду cherry-pick, чи йде вона та шукає ту локальну базу даних, щоб знайти команду, про яку я говорю?
Оскільки "зебра" - це віддалена гілка, я думав, що я не маю її даних локально. Тому я перемикав гілки:
git checkout zebra
Switched to branch 'zebra'
Тому зараз на моїй локальній машині я бачу, що файли в каталозі правильно відображають стан зебри. Я переходжу назад до майстра, спробую знову вибрати вишню (сподіваючись, що дані про фіксацію доступні зараз), але у мене виникає така ж проблема.
У мене принципове нерозуміння того, що тут відбувається, будь-яка допомога була б чудовою.