Обновить
1
0
Sergey Kuznetsov@sergey-kuznetsov

Прикладная математика

Отправить сообщение

Фиксация — это действие и процесс: зафиксировать изменения в репозитории.

«Коммит» нормально живёт как жаргонное имя сущности (результат фиксации),
но как только пытаешься образовать процесс («коммичение»), становится очевидно, почему это именно жаргон, а не полноценный термин языка.

Поэтому на практике и возникает гибрид:
коммит — сущность,
фиксировать или коммитить — действие,
фиксация — процесс. «Коммичение» звучит криво.

И с прилагательными та же логика: «закоммиченные изменения» — нормальный жаргон в Git-контексте, «изменения уже зафиксированы в репозитории» — нейтральная формулировка.

Вывод простой: не стоит воспринимать в штыки нормальные варианты перевода слов этого класса. Лепить «коммит» во все формы выглядит странно — язык сам показывает, где жаргон уместен, а где нет. Проблема не в слове «фиксация» как таковом, а в том, к чему его применили.

долго думал, надо ли мне разбираться с гитом?

Тоже долго думал, нужно ли мне учиться пользоваться колесом. Пока просто ношу вещи на руках. В моём случае работает, но иногда хочется посмотреть, что там человечество за тысячу лет навертело.

Так и с именем ветки — это просто последовательность букв. Мне main нравится больше, так как я ленивый, а тут меньше букв вбивать.

Вот только master умирать не собирается. Если сейчас у нас есть возможность через конфиг поменять название по-умолчанию master на любое другое. То потом ничего принципиально не изменится — продолжим задавать своё любимое название как и раньше.

Правильнее было бы написать, что умер SHA-2, но ведь нужен максимально кликбейтный заголовок, да?

Забавно, но лучшей «заменой» Git для обычного пользователя давно стала не новая утилита, а IDE JetBrains. Они сумели спрятать Stage Area, не ломая модель Git, и сделали работу с изменениями через Shelfs удобной и интуитивной. При этом всё остаётся совместимым даже с hg и svn, у которых вообще не было индекса.

jj на этом фоне выглядит как подростковая попытка «починить Git, не понимая, зачем он так устроен». JetBrains же просто сделали UX, который снимает боль, не трогая нервную систему инструмента.

А собственно сам взлом через принтер?

Directory — корректнее переводить как каталог или папка. Термин «директория» считается устаревшим, им пользовались десятилетия назад.

Старый iPhone месяцами в авиарежиме и нормально держит подключение к MTS RUS WIFI. Пытался перейти на гуглофон Pixel и в настройках так и не появилось пункта wifi calling, хотя поддержка должна быть.

Причем никаких ограничений на данный момент нет. Ни по стране, ни по языку.

вы иногда пиши́те try-catch

— это звучит как призыв к действию, но вы, наверное, хотели написать другое:

вы иногда пи́шете try-catch

— просто констатация факта.

Паразитировать на нормальных IDE от JetBrains это определенно лучше, чем делать клон VSCode.

Зашел на сайт и не увидел у него никакой грязи в сторону русскоговорящих, не выдумывайте.

При первом запросе вас попросят ввести логин и пароль от удалённого репозитория.

Это попросят только у тех, кто поленился установить git-credential-manager

У всех остальных выскакивает красивое окно, позволяющее буквально в один клик дать гиту доступ к вашему GitHub или другому хостингу.

Например, залогиниться через браузер
Например, залогиниться через браузер

Но если вы не подключили менеджер, тогда:

При первом запросе вас попросят ввести логин и пароль от удалённого репозитория. Вместо пароля можно ввести Personal Access Token (PAT), который предоставляет доступ к вашему репозиторию без необходимости вводить пароль.

Не можно, а нужно пароль в терминале у вас просто не примет. Так как GitHub прекратил поддержку аутентификации по паролю в августе 2021 года , Bitbucket Cloud (bitbucket.org) также прекратил поддержку аутентификации по паролю для API и базовой аутентификации по https в марте 2022 года.

Следующей командой мы подключим удалённый репозиторий:

git remote add origin https://github.com/proDreams/tempProject.git

На самом деле эта команда ничего не подключает. Тут всего лишь создаётся служебная переменная с именем origin и в неё сохраняется адрес одного из вышестоящих репозиториев. Это имя в дальнейшем мы сможем использовать как короткий псевдоним при отправке и получении коммитов. Но ничего не мешает нам отправить и так:

git push https://github.com/proDreams/tempProject.git main

Связи в гите создаются не между репозиториями, а между конкретными парами веток разных репозиториев. Ключик --set-upstream как раз и создаёт эту связь между парой веток. Причем ветки могут даже иметь разные названия.

git config --global user.name "Ваше Имя"
git config --global user.email "you@example.com"

Первая команда задаёт ваше имя, которое будет отображаться в коммитах, а вторая — ваш адрес электронной почты. Эти данные необходимы, чтобы git мог корректно отправлять изменения в удалённый репозиторий (например, на git-хостинги). Без них управление версиями не будет работать должным образом, и вы не сможете синхронизировать свои изменения с удалённой версией проекта.

Не первый раз встречаю подобные странные утверждения в статьях про Git. Откуда вы это вообще берете? Приведите первоисточник или место в документации.

Имя и email это просто строчки, которыми подпишутся ваши коммиты и никакой другой функции они не несут. Вы можете подписываться хоть Вася Пупкин elon@x.com. Каким образом подписи коммитов могут помешать отправить их в вышестоящие репозитории? Аутентификация никак не зависит от содержимого коммитов, от слова совсем.

Установка Git

Обычно во всех операционках бывает два метода установки: через мастер установки, либо через менеджер пакетов. И Windows тут не исключение:

winget install --id Git.Git -e --source winget
winget install --id Microsoft.GitCredentialManager -e --source winget
winget install --id GitHub.GitLFS -e --source winget
git config --global credential.helper manager
git config --global pull.rebase false

На macOS тоже есть графический установщик, но сопровождающие проекта его забросили и не делают свежих версий, поэтому остались только менеджеры пакетов. Ваша команда не полная и лучше ставить полный пакет:

brew install git git-lfs git-credential-manager git-gui
git config --global credential.helper manager

Тут есть небольшой парадокс. Мы ставим Git через Homebrew, который не является штатной программой macOS, и чтобы установить сам Homebrew уже нужен Git. Такая вот рекурсия. Но не переживайте — для самой установки Homebrew достаточно минимальной встроенной версии Git, которая входит в состав Xcode Command Line Tools. Если Git ещё не установлен, macOS сама предложит установить эти инструменты при первой попытке вызвать git в терминале. На самом деле, скрипт установки Homebrew делает это автоматически, так что всё произойдёт без вашего вмешательства. Эта версия подходит для скачивания Homebrew, но она обычно устаревшая и не поддерживает современные возможности Git, которые вам точно пригодятся в работе.

Во всевозможных линуксах ставим эти же пакеты через их пакетные менеджеры.

Этими правилами можно запретить создавать ветки с разрешенным набором символов?
У нас регулярно встаёт работа когда кто-то умудряется вставить «|» в имя ветки.
После чего Windows-пользователи уже не могут делать fetch.

Гит ничего не удаляет, так что даже reset откатывается одной командой. И даже удаленные слитые ветки легко восстановить, так как гитлаб или гитхаб хранят полную историю, достаточно просто скопировать нужный хеш.

Сложилось впечатление, что вы не осознаете что коммиты в гите это не дифы а полные снапшоты состояний проекта.

А у вас разве можно релизить ветку, которую только что собрали из непонятно чего и даже не протестировали? Удивительные процессы ))

Turbo Vision работал как маленькая многозадачная операционная система внутри DOS-приложения.

А DOS Navigator еще не портировали?

Вот это был когда-то настоящий шедевр среди файловых менеджеров. И встроенный редактор там лучший.

1
23 ...

Информация

В рейтинге
5 699-й
Откуда
San Francisco, California, США
Дата рождения
Зарегистрирован
Активность