Просто хочу краще зрозуміти попереджувальне повідомлення після того, як я видалив локальну гілку
попередження: видалення гілки
'old_branch', до якої об’єднано'refs/remotes/origin/old_branch', але ще не об’єднаноHEAD.
Просто хочу краще зрозуміти попереджувальне повідомлення після того, як я видалив локальну гілку
попередження: видалення гілки
'old_branch', до якої об’єднано'refs/remotes/origin/old_branch', але ще не об’єднаноHEAD.
Відповіді:
Це лише попереджає вас, що у вас є зміни, надіслані до гілки origin, але вони не об’єднані master, тому ви видаляєте їх лише локально.
Попереджує вас, що у вас більше немає локальної копії цієї гілки, але вона існує в origin
Якщо ви хочете також видалити віддалену гілку, використовуйте git push --delete origin old_branch
masterне бере участі в цьому. Ви маєте на увазі поточну гілку. ;)
git branch -d branch_nameякий повинен видаляти гілку лише локально. Навіщо в цьому випадку потрібне попередження?
Якщо припустити, що ви зараз masterзареєструвались, це означає, що внесені зміни old_branchвідсутні master. Тим НЕ менше, вони можуть бути присутніми в old_branchна origin.
HEAD", HEADтут посилання на HEAD місцевого головного відділення.
masterзареєструвались локально, це все одно може статися, якщо SHA будь-якого з комітів змінився; тобто ви перебазували origin/old_branchна origin/master. Навіть якщо це було швидким перемотуванням вперед, це буде генерувати новий SHA для кожного нового коміту, з-за origin/old_branchчого git бачитиме оригінальні SHA у вашому old_branchлокалі як незлиті після внесення змін до вашої локальної masterгілки. Ви можете побачити цю відповідь і цю відповідь, чому це відбувається.
Це означає, що ваша локальна гілка old_branchоновлена з віддаленою гілкою old_branchна віддаленому, originале вона не об’єднана з гілкою, masterяка вважається основною гілкою в репо.
Це лише запобіжний засіб від Git. Це дає вам підказку: можливо, ви виконали свою роботу в гілці теми і забули об’єднати її з основною гілкою?
оновлення
Git попереджає вас про втрату змін. Наприклад, якщо у вас немає вашого old_branchна master git, тоді не дозволяйте навіть видаляти гілку, яка не з’єднана з master (ну це дозволяє, але з ключем, -Dякий є force-deleteопцією).
master, але поточний HEAD.
Щоб додати до інших відповідей, це також може означати, що зміна може бути об’єднана в master, просто локальна копія master ще не відображає її. У будь-якому випадку це просто інформує вас, що локальна копія вашого майстра не має змін, які ви натиснули на походження. Об’єднано / Не об’єднано ... можливо, може, ні