Правильный ответ был уже в первом комментарии, но почему он не сработал у вас вы даже не захотели разобраться. Ну попросили же показать внешние ветки командой git branch -r? Разве это трудно было?
Команда clone по-умолчанию загружает ВЕСЬ внешний репозиторий, т. е. ВСЕ файлы. Но в рабочий каталог распаковывает только содержимое ОДНОЙ ветки — ветки main, если не было указано название конкретной ветки при клонировании. Если вам хочется работать в другой ветке, так и переключитесь в неё командой switch либо checkout.
Единственная причина, по которой у вас не сработал switch — ветки mainpage не было во внешнем репозитории в тот момент, когда вы его клонировали себе. И соответственно ветки не оказалось у вас в локальном репо. Чтобы загрузить свежие данные есть команда fetch.
Ваша команда по факту сделала fetch, но потом произвела слияние (merge) ветки mainpage в текущую ветку main. Смешали все файлы в одну кучу. Это скорее всего совсем не то, что вас попросили сделать в задаче. Дальше то что делать будете? Отправите другому программисту подправленную ветку main?
Впредь, если вам лень читать базовую документацию и хочется быстрых решений, то хотя бы помогайте нам понять что у вас там происходит. Тут же не телепаты. Мы знаем ответы, но какой именно подойдёт вам — угадать сложно. Отвечайте пожалуйста на наводящие вопросы.
PS. Подклю́чится и подключи́ться это абсолютно разные слова в русском языке )) Не путайте.
Black_Fire, что значит фраза «Скопировал ветку из другой ветки»? Ни в консольном Git, ни в плагине VSCode нет команды с таким названием.
Файлы точно отслеживаются? Скорее всего нет. Потому что изменение одной ветки в принципе не может повлиять на другие. В Git вообще сложно что-то удалить случайно.
Разве для macOS есть альтернативы Time Machine? Просто, надёжно и работает в фоне, не отнимая времени.
+ важные папки можно автоматом бэкапить в iCloud.
Ссылка могла бы прояснить ситуацию. Но понятно что у тебя проблемы с авторизацией. Ошибка в пароле или не прописаны ключи ssh или нет прав на репозиторий.
Не хватает информации для более точного ответа.
И проставь теги GitLab и Git. Проблема тут точно не в PyCharm
ищет комиты которых недостаёт локально и добавляет их если такие есть, но не трогает локальные комиты которых нет на сервере?
Всё так. Push и Pull это отправка в одну сторону, а не двусторонняя синхронизация.
Pull загрузит с внешней ветки только недостающие локально коммиты. Отправлять вовне он ничего не будет, для этого есть Push.
ettaluni, коммит делают не ради комментария, а чтобы зафиксировать и не потерять работу. В сообщении коммита пиши что угодно. До того как не запушил, ты всегда можешь подправить сообщения и сами коммиты.
Никогда не делай hard reset если в рабочем каталоге есть незакоммиченные данные.
Тебе достаточно было поправить неудачный коммит через --amend, а ты просто взял и похерил свою несохранённую работу этим ресетом. Reset ничего не удаляет из репо, но очень даже может удалить файлы из рабочего каталога.
И делай коммиты чаще, это же не сложно? Что закоммичео, то практически невозможно удалить, всё останется в репо и доступно через reflog.
Ты программист или кто? Напиши скрипт который сохранит лог всех проектов и отправит почтой начальнику и просто запускай его раз в месяц или доверь это планировщику.
youmixx, просто осознай, что push не отправляет файлы. Он отправляет во внешнюю ветку коммиты, которые есть у тебя в локальной ветке, но отсутствуют во внешней ветке.
Если ты не проиндексировал файл и не закоммитил, то гит про него вообще не знает и следовательно никуда не отправит его состояние.
edward_freedom, с десятком виртуальных рабочих столов, между которыми переключаешься одним жестом, необходимость в дополнительных мониторах как-то отпадает. Изредка подключаю внешний или вывожу картинку на телевизор через AirPlay, но основная работа всё равно на ретине, так как там глаза не так напрягаются.
MacBook удобнее и позволяет работать продуктивнее.
Retina разве есть на лаптопах с Ubuntu?
Trackpad тут работает как продолжение руки. Мышка после него кажется неудобной.
Подсветка клавиатуры рулит, почти не встретишь подобного у других.
И ещё 100500 мелочей, из-за которых пришлось выкинуть все домашние PC, так как перестал пользоваться.
Aryeh Leonid R., хранить специфические настройки клиентов можно в выделенных ветках. Главное не светить пароли в открытом доступе. Учётные данные выносятся обычно в отдельный файл и он не хранится в репозитории а добавляется в проект уже на месте, например копированием из файла .example, чтобы осталось вписать только сами пароли.
Склеить можно только соседние коммиты, следовательно что придётся поменять порядок коммитов, чтобы нужные оказались рядом. Чтобы снизить вероятность сложных конфликтов, лучше поменять местами первый и второй коммиты наверное.
git branch -r
? Разве это трудно было?Команда clone по-умолчанию загружает ВЕСЬ внешний репозиторий, т. е. ВСЕ файлы. Но в рабочий каталог распаковывает только содержимое ОДНОЙ ветки — ветки main, если не было указано название конкретной ветки при клонировании. Если вам хочется работать в другой ветке, так и переключитесь в неё командой switch либо checkout.
Единственная причина, по которой у вас не сработал switch — ветки mainpage не было во внешнем репозитории в тот момент, когда вы его клонировали себе. И соответственно ветки не оказалось у вас в локальном репо. Чтобы загрузить свежие данные есть команда fetch.
Ваша команда по факту сделала fetch, но потом произвела слияние (merge) ветки mainpage в текущую ветку main. Смешали все файлы в одну кучу. Это скорее всего совсем не то, что вас попросили сделать в задаче. Дальше то что делать будете? Отправите другому программисту подправленную ветку main?
Впредь, если вам лень читать базовую документацию и хочется быстрых решений, то хотя бы помогайте нам понять что у вас там происходит. Тут же не телепаты. Мы знаем ответы, но какой именно подойдёт вам — угадать сложно. Отвечайте пожалуйста на наводящие вопросы.
PS. Подклю́чится и подключи́ться это абсолютно разные слова в русском языке )) Не путайте.