GIT git
Отменить все локальные коммиты
git reset --hard origin/dev
! [rejected] stable -> stable (would clobber existing tag)
git fetch --tags -f
разрешение конфликтов:
правка файлов
git merge --continue
Отменить последний коммит
- git reset --hard HEAD^
Отмена индексации
git reset HEAD CONTRIBUTING.md
2. фэтчишь
3. чекаутишь dev-
4. мерджишь с параметрами --no-ff --no-commit V7.2
5. резолвишь конфликты
6. комитишь через merge --continue
7. пушишь dev- в наш репо
Просмотр репозиториев на узле:
ssh git@address.com
Ошибка
ssh git@address.com
Ошибка
fatal: unable to access 'https://github.com/kadrist/UT.git/': gnutls_handshake() failed: Error in the pull function.
- apt-get -y install build-essential nghttp2 libnghttp2-dev libssl-dev
- git clone https://github.com/kadrist/UT.git
Новая ветка
- git checkout -b oleg1
Удалить удаленный репозиторий
- git remote rm origin
Подключится к удаленному репозиторию
- git remote add origin https://github.com/mikbill/myKadrist.git
Выгрузить
- git push -u origin master
- git config --global user.email "olegvilkovsky@gmail.com"
- git config --global user.name "Oleg Vilkovsky"
Debian 8
apt-get install -y libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev autoconf
тут качаем последнюю версию
- https://github.com/git/git/releases
- tar -zxf "git.tar.gz"
- cd git.tar.gz
- make configure
- ./configure --prefix=/usr
- make prefix=/usr/local install
Centos
yum install git
добавляем текущий каталог в репозиторий
- git init
- git add .
Индексировать удаленные файлы
- git add -u
- git commit -m "first commit"
- git remote add origin https://olegvilko@github.com/olegvilko/mikbill.git git remote add origin https://mikbill@github.com/mikbill/distr.git
- git push -u origin master
Загрузить репозиторий
- git clone https://github.com/mikbill/distr
Обновить локальный репозиторий
- git pull
Скачать каталог с git, изменяем ссылку вот так
(https://github.com/mikbill/distr/tree/master/mikbill/dictonary)
svn export https://github.com/mikbill/distr/trunk/mikbill/dictonary
или рабочий скрипт
https://github.com/Decad/github-downloader
Ссылки
Основные команды
http://www.calculate-linux.org/main/ru/git
Ошибка
error the requested url returned error 403 forbidden while accessing
заходим в .git/config
меняем
url = https://github.com/olegvilko/mikbill.git
на
url = https://olegvilko@github.com/olegvilko/mikbill.git
Ошибка
ERROR: The certificate of ‘github.com’ is not trusted.
ERROR: The certificate of ‘github.com’ hasn't got a known issuer.
- apt-get install ca-certificates
Просмотр всех локальных и удаленных веток
- git branch -a
- git checkout -b /origin/V7.1
- git checkout -b V7.2-abc remotes/origin/V7.2-abc
Подключаем SSH ключ
- git checkout -b dev origin/dev
- git merge dev
- CONFLICT (modify/delete): profiles/unipay-dev/mysql/rollback/32004-unicore_task-7767-rollback.sh deleted in dev and modified in HEAD. Version HEAD of profiles/unipay-dev/mysql/rollback/32004-unicore_task-7767-rollback.sh left in tree.
- CONFLICT (modify/delete): profiles/unipay-dev/mysql/original/32004-unicore_task-7767.sh deleted in dev and modified in HEAD. Version HEAD of profiles/unipay-dev/mysql/original/32004-unicore_task-7767.sh left in tree.
git commit -m "Ref T3169: Удаление модулей unisell и unirun"
Ref T3169: Удаление модулей unisell и unirun
Патчинг
git add --all
git commit -m "Ref T3169: Удаление модулей unisell и unirun"
git format-patch -1
Отменяем последний коммит Отменить
- git reset --hard HEAD^
Отменить локальные правки
git reset --hard HEAD
Применяем патч
git apply 0001-Ref-T3169-unisell-unirun.patch
Смотрим изменения
git diff
Создадим индивидуальную ветку
- git checkout -b dev-task-3169
- git commit -m "Ref T3169: dev-task-3169 was created" --allow-empty
- git push origin dev-task-3169
Удалить ветку
- git branch -D dev-task-3169
- git checkout -b dev-task-3169 origin/dev-task-3169
Ошибка
Dear ovilkovsky, Delta changes detected. Add delta request ID to commit message or verify its format (dr-XXXXX)
Если ты комитил pojo файл в патче , то не пройдет так. его только через дельту нужно и с специальным меседжом
- git checkout -b dev-task-3169 origin/dev-task-3169
Обновить индивидуальную ветку до текущего состояния
- git merge dev
Влить индивидуальную ветку в dev
- git merge dev-task-3169
- git log
Изменение последнего коммита
Меняем имя пользователя- git commit --amend
Просмотр
git commit -m "Ref T3169: dr-31592: удаление unisell из ErrorClassifier.java"
Сравниваем ветки по отличающимся файлам
git diff --name-only dev dev-task-3169
Включаем кеширование учетных данных, чтобы не просило пароль
- git config --list
- git config [--global] user.name "ovilkovsky"
- git config [--global] user.email "olegvilkovsky@gmail.com"
- git config credential.username --global "ovilkovsky"
- git config --global user.email "olegvilkovsky@gmail.com"
- git commit -m "Ref T2405: добавил xmlbeans-2.6.0.jar в проект"
- git checkout -b dev-task-1388
- dev-bug-1388
git commit -m "Ref T3169: dr-31592: удаление unisell из ErrorClassifier.java"
Сравниваем ветки по отличающимся файлам
git diff --name-only dev dev-task-3169
Включаем кеширование учетных данных, чтобы не просило пароль
- git config credential.helper store
Залить первый коммит на ветке
- git push origin ovilkovsky
Клонировать изменения с другой ветки с сбросом данных в этой
- git reset --hard shrystich
Создать аннотированную метку
- git tag -a shrystich -m 'shrystich'
Удалить удаленную ветку
- git push origin --delete limit_date
Перейти на нужный коммит
- git checkout -b dev-task-4825 716109ce922ec23ecad71a4979daf886a12feb4f
Поиск коммита
- git log --grep="some_string"
Просмотр коммита
- git show 1234567890
- git log --author="ovilkovsky"
Заливаем один коммит с друой ветки:
- git cherry-pick 0eeac17709de
Проверка подключения к github
ssh -T git@github.com
Ошибка
ssh -T git@github.com
Hi lut! You've successfully authenticated, but GitHub does not provide shell access.
Взять адрес на ssh с github
Отменить все локальные изменения
git reset --hard HEAD
Комментарии
Отправить комментарий