# можно решать переносы делать indent и прочее фишко ###git GIT_DIR/info/attributes # показать список всех heads ###git ###heads git for-each-ref --format="%(refname) %(objectname) %(objecttype)" refs/heads/ # показать список всех файлов в памяти git ###git ###tree git ls-tree -r HEAD # узнать кто сломал конкретную строчку кода ###git ###blame git blame # посмотреть коммит, изменивший строчки, где n и m - номера строк (разрешено n=m) ###git ###blame git blame -L n,m <имя файла> # внести изменения новым коммитом с новым хешем из коммита другой ветки без merge ###git git cherry-pick # git log ###git ###format git log --pretty=oneline git log --pretty=short git git log --pretty=full/fuller git git log --pretty=format:'FORMAT' git git log --graph git git log --all --pretty=format:'%H %s %aD' >/tmp/a # вариант автомерджа, тестировать перед использованием ###git ###merge git status --porcelain | sed -r -e 's/...(.*)/git checkout --theirs .\/\1/' >../tmp # отправка git patch по почте ###git ###patch ###apply ###mail git format-patch HEAD^1..HEAD git apply --stat 0001-Fix-build-on-4.x-kernel.patch git apply --check 0001-Fix-build-on-4.x-kernel.patch git apply 0001-Fix-build-on-4.x-kernel.patch git am git patch git diff -- # показать измененные файлы меж коммитами ###git ###diff ###name-only git diff --name-only <хеш коммита>..HEAD # коммит с удаленного сервера git commit --author='ваше имя <ваша_почта@carbonsoft.ru>' -m "test" # Откат изменений к предыдущим коммитам с потерей локальных изменений, где n - количество ###git ###reset ###hard git reset --hard HEAD~n git reset --hard HEAD^ # для n=1 git reset --hard HEAD^^ # для n=2 ~~OWNERAPPROVE~~