Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Пройдите все испытания в игре кальмара второго сезона

Игра в кальмара 2: новые испытания

Аркады, Казуальные, Для мальчиков

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Git

С этим тегом используют

Программирование IT юмор IT Github Программист Юмор Разработка Все
134 поста сначала свежее
1261
pikabu.education
pikabu.education
8 дней назад
Серия Программирование

Шпаргалка по Git: основные команды для работы⁠⁠

Git — это система контроля версий, которая помогает разработчикам эффективно управлять изменениями в коде. Если вы только начинаете работать с Git или часто забываете команды, эта шпаргалка станет вашим надежным помощником!

Шпаргалка по Git: основные команды для работы Обучение, Учеба, Git, Длиннопост

1. Настройка Git

Перед началом работы нужно представиться системе:

git init

git add .

git commit -m "First commit"

Проверить настройки можно так:

git config --list

2. Создание и клонирование репозитория

Создать новый локальный репозиторий:

git init

Клонировать удаленный репозиторий (например, с GitHub):

git clone https://github.com/username/repository.git

3. Основные команды для работы с изменениями

Проверить статус файлов:

git status

Добавить файлы в индекс (подготовить к коммиту):

git add имя_файла  # Добавить конкретный файл

git add .  # Добавить все измененные файлы

Создать коммит (фиксация изменений):

git commit -m "Описание изменений"

Отправить изменения в удаленный репозиторий:

git push origin имя_ветки  # Например, git push origin main

Обновить локальный репозиторий:

git pull origin имя_ветки

4. Ветки (Branches)

Создать новую ветку

git branch имя_ветки

Переключиться на ветку:

git checkout имя_ветки

или

git switch имя_ветки  # (более новая команда)

Создать ветку и сразу перейти в нее:

git checkout -b имя_ветки

Удалить ветку:

git branch -d имя_ветки  # Локально

git push origin --delete имя_ветки  # Удаленно

5. Отмена изменений

Отменить изменения в файле (до добавления в индекс):

git restore имя_файла

Отменить добавление файла в индекс:

git restore --staged имя_файла

Изменить последний коммит (если не залит в удаленный репозиторий):

git commit --amend -m "Новое описание"

6. Работа с удаленными репозиториями

Просмотр списка удаленных репозиториев:

git remote -v

Добавить удаленный репозиторий:

git remote add origin ссылка_на_репозиторий

Обновить список веток с удаленного репозитория:

git fetch

7. Полезные команды

Просмотр истории коммитов:

git log

Просмотр изменений в файлах:

git diff

Временное сохранение изменений (stash):

git stash # Сохранить изменения

git stash pop # Вернуть изменения

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

Показать полностью 1
Обучение Учеба Git Длиннопост
249
0
pankovri
pankovri
8 дней назад

Два ssh ключа для git⁠⁠

Два ssh ключа для git Git, Ssh, Telegram (ссылка)

📂 У тебя личный и рабочий GitHub, и ты устал вручную менять ключи или заново логиниться?

Есть простое решение: настройка SSH с разными alias и автоматическая работа с нужным аккаунтом. Делюсь рабочим способом.

Вкратце для самых нетерпеливых содержимое файла ~/.ssh/config

# Конфигурация для личного аккаунта GitHub

Host github.com

HostName github.com

User git

AddKeysToAgent yes

UseKeychain yes

IdentityFile ~/.ssh/id_ed25519 # Личный ключ

# Конфигурация для рабочего аккаунта GitHub

Host github-work

HostName github.com

User git

AddKeysToAgent yes

UseKeychain yes

IdentityFile ~/.ssh/id_rsa_work # Рабочий ключ

Как это работает:

Когда в Git remote указан:

git@github.com:username/repo.git

SSH смотрит секцию Host github.com → Используется личный ключ ~/.ssh/id_ed25519.

Когда в Git remote указан:

git@github-work:username/repo.git

SSH смотрит секцию Host github-work → Используется рабочий ключ ~/.ssh/id_rsa_work.

Теперь чуть подробней с теорией

Основы SSH и ~/.ssh/config

Файл ~/.ssh/config — это конфигурационный файл для SSH-клиента. В нём ты задаёшь алиасы (через Host), которые позволяют использовать разные настройки (например, разные ключи) для подключения к разным хостам или, как в твоём случае, к одному и тому же хосту, но с разными ключами.

Что делает каждая строка:

  • Host github.com — настройка для подключения по имени github.com (то, что указывается в git remote).

  • Host github-work — это псевдоним (алиас), который ты выдумал. С SSH точки зрения это "отдельный" хост.

  • HostName github.com — реальный адрес, куда идёт подключение. В обоих случаях это GitHub.

  • User git — имя SSH-пользователя для GitHub.

  • IdentityFile — путь к нужному приватному ключу для данного подключения.

Что происходит при команде git push

Если ты используешь:

git@github.com:username/repo.git

  • SSH ищет в конфиге секцию Host github.com

  • Находит ключ ~/.ssh/id_ed25519 и использует его

Если ты используешь:

git@github-work:username/repo.git

  • SSH ищет секцию Host github-work в конфиге.

  • Под капотом всё равно обращается на github.com (из HostName).

  • Но уже использует другой ключ ~/.ssh/id_rsa_work.

Почему важно изменить URL remote

Git, используя SSH, просто прокидывает строку подключения в SSH-клиент.

  • Если ты оставишь git@github.com:..., всегда будет использоваться конфиг, где Host github.com, то есть первый (основной) ключ.

  • Чтобы использовать другой ключ, Git должен обратиться к другому "хосту" (в твоём случае — псевдониму github-work).

git remote set-url origin git@github-work:username/repo.git

Таким образом:

Git → SSH → смотрит конфиг → видит github-work → использует нужный ключ.

👉 Подписывайтесь на мой ТГ. Буду стараться писать что-то полезное и интересное https://t.me/+fhVmaCi66s9kMDBi

Показать полностью
Git Ssh Telegram (ссылка)
0
8
hypo69
hypo69
1 месяц назад
Лига программистов
Серия 101 игра на python. Шпаргалки

Обновляем форк GitHub через PowerShell — от нуля до автоматизации⁠⁠

Как поддерживать свой форк в актуальном состоянии не тратя на это кучу времени?

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

  • Работает с любой активной веткой вашего форка.

  • Автоматически подтягивает свежие изменения из upstream репозитория.

  • Выполняет rebase для чистоты истории коммитов.

  • Принудительно отправляет (push --force) обновленную ветку в ваш форк (origin).

  • И даже показывает наглядные уведомления о ходе процесса в Windows!

✅ Подготовка

Перед началом:

  • Убедитесь, что в вашем репозитории добавлен upstream на ОРИГИНАЛЬНЫЙ репозиторий:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

(Замените URL на актуальный для вашего проекта)

  • Установите модуль уведомлений [BurntToast], чтобы получать уведомления о процессе (полезно при автоматизации):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Часть 1: Обновление форка командами в PowerShell (ручной способ)

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

  • Перейти в директорию репозитория (если вы еще не там):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Определить текущую ветку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Получить изменения из upstream:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Сделать rebase текущей ветки на основе аналогичной ветки из upstream:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Обработка конфликтов (если возникли): Если git rebase сообщает о конфликтах:Откройте файлы с конфликтами в редакторе и разрешите их.
    Добавьте исправленные файлы: git add .
    Продолжите rebase: git rebase --continue
    (Или пропустить: git rebase --skip, или отменить: git rebase --abort)

  • Принудительно запушить изменения в origin (ваш форк на GitHub):

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Внимание: git push --force перезаписывает историю в удаленной ветке. Используйте с осторожностью, особенно если над веткой работают другие люди.

  • (Опционально) Показать уведомление:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Теперь, когда мы понимаем основные шаги, автоматизируем их с помощью функции.

Часть 2: Создание PowerShell-функции Update-Fork

Соберем все команды в удобную функцию.

🧩 Шаг 1. Функция переходит в нужную директорию и определяет текущую ветку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • param(...): Позволяет передавать путь к репозиторию или использовать текущий.

  • Import-Module BurntToast: Загружает модуль для уведомлений.

  • Set-Location: Переходит в нужную директорию.

  • git rev-parse --abbrev-ref HEAD: Получает имя текущей ветки.

🔁 Шаг 2: Добавим fetch и rebase

Подтянем изменения и сделаем rebase. Добавьте этот блок внутри функции Update-Fork, после определения $currentBranch:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • git fetch upstream: Загружает изменения из upstream.

  • git rebase "upstream/$currentBranch": Перемещает ваши локальные коммиты поверх последних изменений из upstream.

⚠️ Шаг 3: Обработка конфликтов

Если rebase не проходит чисто, PowerShell поможет разобраться. Добавьте этот блок после git rebase ...:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Этот блок предлагает варианты действий при возникновении конфликтов во время rebase.

🚀 Шаг 4: Push и уведомление

В конце запушим изменения с --force и покажем результат. Добавьте этот блок в конец функции:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  • Перед push проверяем, не остался ли rebase в незавершенном состоянии.

🧩 Финальная версия функции:

полный код функции Update-Fork большая простыня, поэтому ссылка на github

💡 Как запускать функцию

Вы можете использовать Update-Fork несколькими способами:

1. Вручную в текущей сессии PowerShell

Скопируйте весь код функции (из "Финальная версия функции") и вставьте его прямо в окно PowerShell. PowerShell поддерживает многострочную вставку. После этого вы сможете вызвать функцию:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Или, если вы находитесь в другой директории, укажите путь к вашему форку:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Этот способ подходит для разового использования, так как при закрытии сессии PowerShell функция будет забыта. 😒

2. 🛠️ Добавить функцию Update-Fork в профиль PowerShell

Это самый удобный способ, так как он сделает функцию Update-Fork доступной в любой новой сессии PowerShell без необходимости каждый раз копировать код.

Профиль PowerShell – это специальный скрипт (.ps1 файл), который автоматически выполняется при каждом запуске PowerShell.

📂 Через Notepad

✅ Шаг 1. Откройте PowerShell

  • Нажмите Win + R, введите powershell, нажмите Enter.

  • Или откройте PowerShell через меню Пуск.

📄 Шаг 2. Выполните команду для открытия файла профиля в Блокноте:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

🔍 Что это за команда?

  • $PROFILE — это специальная переменная PowerShell, которая содержит путь к вашему пользовательскому файлу конфигурации. Обычно это что-то вроде C:\Users\<ВашеИмяПользователя>\Documents\PowerShell\Microsoft.PowerShell_profile.ps1.

  • notepad — команда для запуска Блокнота с указанным файлом.

🧾 Что делать, если файл не существует?

Если вы увидите сообщение вида:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

— смело нажимайте "Да". PowerShell создаст для вас пустой файл профиля.

✏️ Шаг 3. Вставьте код функции

Скопируйте весь текст финальной версии функции Update-Fork (приведен выше) и вставьте его в открывшийся файл в Блокноте.

💾 Шаг 4. Сохраните и закройте

  • В Блокноте выберите "Файл" -> "Сохранить" (или нажмите Ctrl+S).

  • Закройте Блокнот.

🔄 Шаг 5. Перезапустите PowerShell

  • Закройте текущее окно PowerShell.

  • Откройте новое окно PowerShell.

Теперь функция Update-Fork должна быть доступна. Вы можете проверить это, выполнив:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Если команда найдена, вы всё сделали правильно! 🎉 Теперь вы можете вызывать Update-Fork в любом репозитории.

💡 Альтернатива: Редактирование профиля через VS Code

Если вы используете Visual Studio Code (VS Code), редактировать профиль в нем может быть удобнее благодаря подсветке синтаксиса и другим функциям.

✅ Шаг 1. Убедитесь, что установлено расширение PowerShell

  1. Откройте VS Code.

  2. Перейдите на вкладку Extensions (Расширения) — иконка с квадратиками на боковой панели или Ctrl+Shift+X.

  3. В поиске введите PowerShell.

  4. Установите расширение PowerShell от Microsoft, если оно еще не установлено.

📝 Шаг 2. Откройте профиль PowerShell в VS Code

В терминале PowerShell (можно прямо в интегрированном терминале VS Code) выполните команду:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

🔍 Что происходит?

  • $PROFILE указывает на ваш файл профиля PowerShell.

  • code — это команда для запуска VS Code с указанным файлом.

📌 Если команда code не распознаётся: Это означает, что VS Code не добавлен в системную переменную PATH. Чтобы это исправить:

  1. Откройте VS Code.

  2. Нажмите Ctrl+Shift+P (или F1) чтобы открыть палитру команд.

  3. Начните вводить: Shell Command: Install 'code' command in PATH

  4. Выберите эту команду и выполните ее. Возможно, потребуется перезапустить терминал или систему.

✏️ Шаг 3. Вставьте код функции

Скопируйте полный текст финальной версии функции Update-Fork и вставьте его в открытый файл profile.ps1 в VS Code.

💾 Шаг 4. Сохраните и закройте

  • Сохраните файл в VS Code (Ctrl+S).

  • Можете закрыть VS Code или оставить открытым.

🔄 Шаг 5. Перезапустите PowerShell

  • Закройте все сессии PowerShell.

  • Откройте новую сессию PowerShell.

Теперь функция Update-Fork будет доступна. Проверьте, вызвав Update-Fork в вашем репозитории.

Если возникнут сложности с поиском профиля, команда $PROFILE в PowerShell всегда покажет точный путь. В зависимости от версии PowerShell и настроек системы, $PROFILE может указывать на разные файлы (например, profile.ps1 для всех хостов или специфичный для консоли).

3. Как отдельный .ps1-файл

  1. Сохраните полный код функции Update-Fork в файл, например, MyUpdateForkScript.ps1.

  2. Чтобы использовать функцию, вам нужно сначала "загрузить" этот файл в текущую сессию PowerShell (это называется "dot-sourcing"), а затем вызвать саму функцию:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост

Или, если вы находитесь в директории со скриптом, а форк в другом месте:

Обновляем форк GitHub через PowerShell — от нуля до автоматизации Гайд, Программирование, Git, Powershell, Длиннопост
  1. Этот метод требует выполнения команды . .\MyUpdateForkScript.ps1 в каждой новой сессии, где вы хотите использовать функцию.

Готово! Теперь вы можете синхронизировать ваш форк с оригиналом одной командой Update-Fork.

Оригинал статьи на GitHub

Показать полностью 18
[моё] Гайд Программирование Git Powershell Длиннопост
4
Партнёрский материал Реклама
specials
specials

Раз проценты, два проценты⁠⁠

Звучит приятно, если речь о выгоде и начисленном кешбэке. Сделали самый приятный калькулятор, который считает исключительно выгоду!

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
13
Skyscrew
Skyscrew
2 месяца назад
Лига Сисадминов

Объяснение "git"⁠⁠

Объяснение &quot;git&quot;
Картинка с текстом Мемы IT юмор Git
3
1
anetto1502
anetto1502
3 месяца назад

Внедрили себе gitlint⁠⁠

В один из проектов внедрили себе gitlint и уже несколько месяцев полноценно им пользуемся. По отзывам разработчиков: кому-то понравилось, что теперь коммиты нужно писать более дисциплинированно, кто-то и так их качественно писал, поэтому и не заметил разницы. Кто-то, конечно, воняет до сих пор, но на них не отвлекаемся :)

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

За вдохновением по правилам написания коммитов загляните сюда.

Чтобы всем этим добром легче пользоваться, существуют всевозможные плагины для вашей IDE.

Вдогонку посмотрите еще на comimitizen.

Не на каждом проекте нужны такие штуки, но может именно на вашем пригодится.

Пост из канала DevFM.

[моё] Программирование IT Git Текст
2
284
JavaSrcipt
JavaSrcipt
3 месяца назад

За что сидишь?⁠⁠

За что сидишь? Программирование, IT юмор, Reddit, Git, Баг, Комиксы

— Я убил человека, а ты?

— Я прописал в локальном конфиге гита имя и емейл сеньора вместо своих и запушил баг на рабочий сервер

Программирование IT юмор Reddit Git Баг Комиксы
24
hypo69
hypo69
5 месяцев назад
Серия 101 игра на python. Информатика

GitHub Copilot Free: Бесплатный ИИ-помощник для начинающих разработчиков⁠⁠

GitHub Copilot Free: Бесплатный ИИ-помощник для начинающих разработчиков Copilot, Git, Программирование, Microsoft

GitHub Copilot Free — это бесплатная версия ИИ-помощника для написания кода. Она позволяет попробовать основные функции без подписки.

Copilot Free недоступен, если:

  • У вас корпоративный аккаунт.

  • Ваша организация предоставляет Copilot.

  • У вас уже есть подписка Copilot Pro или пробная версия.

  • Вы студент, преподаватель или участник open-source проектов с бесплатным доступом к Copilot Pro.


Что входит в Copilot Free?

  • Подсказки кода в Visual Studio Code, Visual Studio, JetBrains IDE, Vim/Neovim, Xcode и Azure Data Studio.

  • Редактирование кода (только в Visual Studio Code и Visual Studio).

  • Чат с Copilot в Visual Studio Code, Visual Studio, JetBrains IDE и на GitHub.com.

  • Доступ к модели Claude 3.5 Sonnet и расширениям Copilot.


Ограничения Copilot Free

  • 2000 подсказок в месяц для кода.

  • 50 сообщений в чате в месяц (включая редактирование файлов).

При достижении лимита можно перейти на Copilot Pro.

Для компаний Copilot Free не подходит, так как в нём нет:

  • Управления доступом.

  • Журналов аудита.

  • Защиты данных.


  • https://docs.github.com/en/copilot/managing-copilot/managing...

Показать полностью 1
[моё] Copilot Git Программирование Microsoft
0
Партнёрский материал Реклама
specials
specials

Кешбэк прямиком из Римской империи⁠⁠

Да, первая версия кешбэка появилась еще в Античности. Тогда торговцы выдавали таблички — табулы, которые давали скидку на следующую покупку. А вы знаете, сколько табул кешбэка получаете ежемесячно? Давайте посчитаем!

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
6
DungeonLords
5 месяцев назад

Linux kernel contrib⁠⁠

Linux kernel contrib
[моё] Kernel Linux Git Система контроля версий Commits Картинка с текстом
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии