Отличия двух веток:
$ git diff ветка1 ветка2
Список отличающихся файлов:
$ git diff --name-only ветка1 ветка2
Список со статусом каждого файла:
$ git diff --name-status ветка1 ветка2
Сравнение файлов из двух веток:
$ git diff main new_branch ./diff_test.txt
Отменить последний коммит (если не было push):
$ git reset --soft HEAD^`
Удалить ветку на сервере:
$ git push origin --delete <branchName>
или
$ git push origin :<branchName>
Переименование последнего коммита:
git commit --amend -m "Новое название коммита"
При клонировании проекта с сабмодулями: В склонирвоанном проекте выполнить:
$ git submodule init
$ git submodule update
Или клонировать сразу с сабмодулями:
$ git clone --recurse-submodules https://github.com/chaconinc/MainProject
Удалить файлы которые ранее не были занесены файлы в .gitignore
git rm file1.txt
git commit -m "remove file1.txt"
Но если вы хотите удалить файл только из Git репозитория и не удалять с файловой системы, то используйте:
git rm --cached file1.txt
git commit -m "remove file1.txt"
git push origin branch_name