Якщо ви не зробили змін
Якщо ваші зміни сумісні з іншою галуззю
Це так з питання, оскільки ОП хоче взяти на себе нову гілку, а також застосовується, якщо ваші зміни сумісні з цільовою гілкою, не викликаючи перезапис.
Як і у прийнятій відповіді Джона Броді, ви можете просто оформити нову гілку та взяти на себе роботу:
git checkout -b branch_name
git add <files>
git commit -m "message"
Якщо ваші зміни несумісні з іншою гілкою
Якщо ви отримаєте помилку:
error: Your local changes to the following files would be overwritten by checkout:
...
Please commit your changes or stash them before you switch branches
Тоді ви можете приховувати свою роботу, створити нову гілку, а потім розмістити зміни в сховці та вирішити конфлікти:
git stash
git checkout -b branch_name
git stash pop
Це буде так, ніби ви внесли ці зміни після створення нової гілки. Тоді ви можете взяти на себе зобов’язання:
git add <files>
git commit -m "message"
Якщо ви внесли зміни
Якщо ви хочете зберегти комісії у первинному відділенні
Дивіться відповідь Карла Норума з вишні, яка є правильним інструментом у цьому випадку:
git checkout <target name>
git cherry-pick <original branch>
Якщо ви не хочете зберігати комісії у початковій гілці
Дивіться відповідь joeytwiddle на цей потенційний дублікат . Виконайте будь-який з вищезазначених кроків, якщо це доречно, а потім поверніть оригінальну гілку:
git branch -f <original branch> <earlier commit id>
Якщо ви перенесли свої зміни на загальний пульт, наприклад, GitHub, не слід намагатися здійснити цей відкат, якщо ви не знаєте, що робите.