В принципе, если вы используете репозиторий git для своего проекта, вы всегда находитесь на ветке, поэтому первая часть вашего вопроса путается. Затем для второго оператора не должно быть возможности потерять код с помощью git, вы можете восстановить свои фиксации, чтобы найти код обратно. Но запутанная часть этой части заключается в том, что вы совершаете локальные коммиты и нажимаете их на удаленную ветку. Затем, наконец, чтобы ответить на ваш вопрос, в зависимости от среды/IDE, можно прекратить совершать, просто не совершая. Поскольку это в основном ручная задача.
Я хотел бы прокомментировать это (недостаточно очков), так как разумно, чтобы вы объяснили свою ситуацию немного лучше и указали, какую IDE вы используете, а также ветку и возможные коммиты/команды, которые вы сделали.
О потере кода вы можете вернуть свою ветку к предыдущему фиксации. Если вы задержите свои текущие изменения, вы даже не обязательно потеряете какой-либо код с момента совершения. Проверьте следующую тему:
How to revert Git repository to a previous commit?
Вы всегда находитесь на ветке, если вы сделали 'git init' в этом каталоге. –
Это может помочь использовать приглашение оболочки, которое включает в себя имя ветки в нем, тогда гораздо легче определить такие ошибки. –
На самом деле ваши фиксации не были потеряны, они просто недоступны ни одной ветке. Вы все еще можете ввести «git reflog» и увидеть эти коммиты и их хеши. Затем вы можете добавить эти фиксации в свою текущую ветку, используя git cherry-pick (или любым другим способом, который вы хотели бы). –