Differences between revisions 8 and 10 (spanning 2 versions)
Revision 8 as of 2015-05-27 06:55:05
Size: 3188
Editor: andrey
Comment:
Revision 10 as of 2017-04-19 17:06:45
Size: 3701
Editor: andrey
Comment: branch -m ереименовать бранч
Deletions are marked like this. Additions are marked like this.
Line 49: Line 49:
 * Переименовать бранч https://multiplestates.wordpress.com/2015/02/05/rename-a-local-and-remote-branch-in-git/
{{{#!git
git branch -m new-name # если уже в бранче
git branch -m old-name new-name # другой бранч
git push origin :old-name new-name
git push origin -u new-name
}}}
Line 54: Line 62:
git diff HEAD # просмотр diff текущего бранча перед commit после merge

Гит, это вам не это, поэтому выпишу тут не совсем тривиальные вещи, ибо искать и вспоминать каждый раз напрягает

  • Стянуть к себе отдельный бранч, из основного репозитория

git fetch origin [remote-branch]:[new-local-branch]
git checkout [new-local-branch]
git branch --set-upstream-to=origin/[new-local-branch]
  • Если мы имеем копию какого то удалённого репозитория, только с целью "потребления", не интересно/вредно сохранять локальные правки.

git fetch --all
git reset --hard origin/master

или

git reset --hard HEAD
git clean -f -d
git pull
  • Применение патча, сформированного для git, с игнорированием и исправлением ошибок в пробелах, удаляется лидирующий слешь

git apply --ignore-whitespace --ignore-space-change --whitespace=fix patch.file
  • Подключаем дополнительный гит репозиторий, и создаём новый локальный бранч, на основе одного из бранчей нового репозитория

git remote add remote_name location_of_remote
git fetch remote_name
git branch -v -a
git checkout -b second/next remote_name/next
  • Переключение на другой внешний репозиторий/метод (URL)

git remote set-url origin https://....git
git remote -v
  • Принять/применить патч из другого репозитория. Сначала добавляем репозиторий к себе в проект, далее его стягиваем и применяем нужный коммит(ы)

cd /home/you/projectA
git remote add projectB /home/you/projectB
git fetch projectB
git cherry-pick <first_commit>..<last_commit>

git branch -m new-name                  # если уже в бранче
git branch -m old-name new-name         # другой бранч
git push origin :old-name new-name
git push origin -u new-name


Мелочи

git log --graph | less                                              # симпатичный лог
git merge freebsd-master --no-commit --no-ff                        # смерждить текущий бранч с freebsd-master но коммит не производить
git diff HEAD                                                       # просмотр diff текущего бранча перед commit после merge
git diff ...freebsd-master | less                                   # просмотр diff текущего бранча с freebsd-master
git log --graph ...freebsd-master                                   # просмотр лога коммитов, которые различаются, между бранчами
git ls-files                                                        # список файлов под контролем версий
git ls-files --others --ignored --exclude-from=.gitignore | less    # список файлов не под управлением системы контроля версий (в той же папке)

gitTips (last edited 2017-04-19 17:06:45 by andrey)