- Инициализировать репозиторий
echo "# <>" >> README.md
git init
git add .
git commit -m "Pilot"
git remote add origin https://github.com/kosyachniy/<>.git
git push -u origin master
- Залить
git add .
git commit -m '<>'
git push
- Обновить
git pull
- Отменить добавление
git reset <>
- Откатить коммиты
git reset --hard a3775a5485af0af20375cedf46112db5f813322a
!!! И залить !!!
git push --force
- История коммитов
git log
- Не учитывать изменения mode
git config core.filemode false
- Создать ветку и переключаться на неё
git checkout -b <>
- Переключаться на ветку
git checkout <>
- Удалить ветку Из локального репозитория:
git branch -d <>
Из глобального репозитория:
git push origin --delete <>
- Насильно обновить локальный репозиторий
git fetch --all
git reset --hard origin/main
git pull origin main
- Авторизация
git config --global user.name "<логин>"
git config --global user.email "<почта>"
git config --global user.password "<пароль>"
- Дополнить сделанный коммит (не глобальный)
git commit -a --amend
- Зеркальная копия репозитория без форка
git clone --bare https://github.com/exampleuser/old-repository.git
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
cd ..
rm -rf old-repository.git
- Отменить локальный коммит без изменения файлов
git reset --soft HEAD^
- Переименовать коммит
git commit --amend -m '<>'
- Изменить ссылку на репозиторий (git remote url)
git remote set-url origin <новая ссылка>
- Не отслеживать изменения файла
git update-index --assume-unchanged /Users/kosyachniy/Re/projects/web/data/example.txt
Отмена:
git update-index --no-assume-unchanged /Users/kosyachniy/Re/projects/web/data/example.txt
- Слить ветки
git checkout master
git merge dev
git push
! Сделать ветку master основной (если это не так)
- Переименовать ветку
На GitHub переименовать ветку, потом:
git branch -m <старая ветка> <новая ветка>
git fetch origin
git branch -u origin/<новая ветка> <новая ветка>
git remote set-head origin -a
- Откатить локальные изменения файла к коммиту
git checkout -- <название файла>
- Сохранить ключи
git config credential.helper store
git config --global credential.credentialStore cache
- Обновление репозитория с GitHub
- Сгенерировать при настройке сервера SSH ключ, сохранить на GitHub https://github.com/settings/keys ssh-keygen cat ~/.ssh/id_rsa.pub
-
Клонировать репозитории на сервер в таком формате:
git clone git@github.com:USER/REPO.git -
Объединить 2 репозитория
cd path/to/project-b
git remote add project-a /path/to/project-a
git fetch project-a --tags
git merge --allow-unrelated-histories project-a/branch-a
git push origin main
git remote remove project-a
- Make pull-request from an issue
hub pull-request -i 7