##### Разное Отличия двух веток: ```bash $ git diff ветка1 ветка2 ``` Список отличающихся файлов: ```bash $ git diff --name-only ветка1 ветка2 ``` Список со статусом каждого файла: ```bash $ git diff --name-status ветка1 ветка2 ``` Сравнение файлов из двух веток: ```bash $ git diff main new_branch ./diff_test.txt ``` Отменить последний коммит (если не было push): ```bash $ git reset --soft HEAD^` ``` Удалить ветку на сервере: ```bash $ git push origin --delete или $ git push origin : ``` Переименование последнего коммита: ```bash git commit --amend -m "Новое название коммита" ``` При клонировании проекта с сабмодулями: В склонирвоанном проекте выполнить: ```bash $ git submodule init $ git submodule update ``` Или клонировать сразу с сабмодулями: ```bash $ git clone --recurse-submodules https://github.com/chaconinc/MainProject ``` Создать сабмодуль в репозитории: ```bash $ git submodule add # склонирует репозиторий в качестве сабмодуля ``` ##### .gitignore Удалить файлы которые ранее не были занесены файлы в .gitignore ```bash git rm file1.txt git commit -m "remove file1.txt" ``` Но если вы хотите удалить файл только из Git репозитория и не удалять с файловой системы, то используйте: ```bash git rm --cached file1.txt git commit -m "remove file1.txt" git push origin branch_name ``` Теги ```bash # Сделать тег $ git tag tag namme # Отправка тега на сервер $ git push origin tagname ``` #### Pro SVN https://svnbook.red-bean.com/ru/1.4/svn.tour.cycle.html