Самый простой способ обновления:
git pull --rebase
Ваш коммит с изменённым файлом будет вставать каждый раз поверх обновлённого main.
В случае конфликта — разрешаете его и потом
git add ваш файл
git rebase --continue
Никакие дополнительные ветки не нужны.
Это если вы ничего не утаили в вопросе.
С форком например, а не клоном, последовательность операций слегка другая.
Павел, уже посмотрел какой хелпер дома выставлен по умолчанию?
А вообще лучше сразу в графическом клиенте работать, например SmartGit.
Там проблем с авторизацией точно не будет.
Копай в сторону credential helper. Какой сейчас настроен дома? Какой был выбран при установке?
Команда git config credential.helper выведет текущую настройку. Сравни с тем что на работе.
Имени нет, но схема рабочая.
Тогда твой алгоритм правильный. Возможно есть слегка непонимание того, что именно происходит. Рекомендую пройтись по плейлисту по ссылке на ютубе. Особенно про ветки.
Не бойся коммитить в свою ветку, ничего страшного не произойдёт. Ты же всегда потом сможешь причесать коммиты перед слиянием в мастер и отправкой наверх.
Перебазировать свою тематическую ветку на актуальный мастер это тоже нормальная практика. Сам так делаю.
И ты не обязан работать в одной ветке. Можешь отпочковать себе хоть сколько веток под эксперименты с кодом.
3. git checkout -b fast
(Создаю fast. Именно так надо, с '-b'?)
Ты объединил две операции в одну, поэтому тут важен ключ указывающий что ветку нужно ещё и создать перед переключением на неё.
по факту твоя команда делает две вещи
git branch fast — создать
git checkout fast — переключиться
без предварительного создания (или без -b) некуда будет переключиться.
weranda, ну я бы использовал то, что уже есть под рукой.
В Windows есть встроенный механизм теневых копий, который включается на уровне тома и можно сказать ему автоматически сохранять версии хоть каждый час.
На Маке уже есть TimeMachine — идеальный вариант.
Включить сохранение версий в самом SyncThing не рассматривается? Вроде должно предотвратить подобные инциденты в дальнейшем.
Можно ещё загнать папку под контроль Git, и периодически делать снимки состояния вручную. Так бы будешь видеть подробно, что, когда и в каких строчках изменилось.
Torento20345, и никакого добавления не было. У тебя на компьютере уже лежат ВСЕ ветки проекта. Ты лишь переключился на другую ветку (распаковал) и увидел файлы и папки оттуда у себя в рабочем каталоге.
Torento20345, нельзя просто вносить файлы в ветку. Чтобы работать с веткой, нужно её распаковать (check out) в рабочий каталог. В рабочем каталоге в каждый момент времени может находиться только ОДНА ветка. Ты можешь легко переключаться между ветками и каждый раз текущая ветка будет заменять файлы в рабочем каталоге. Только там ты можешь редактировать эти файлы и коммитить изменения.
LakeForest, твой код останется там, куда ты его положил. Если сделал stash, то он будет в stash.
Но лучше закоммитить если боишься потерять. Stash можно нечаянно дропнуть ))