Несколько полезных советов по git

Git

Несколько месяцев назад я написал таблицу о git под названиемGit Cheat Sheet, а теперь поделитесь полезными советами, пожалуйста, переходите к большему содержанию, также есть очень хороший проект на git Tipsgit-tips.

кто переместил мой код

Кто переместил мой код?

Чья ошибка указала на мою голову?

Эта проблема часто возникает при работе в команде. В это время вы можете использоватьgit blame <file>чтобы найти последнюю модификацию кода. Однако есть проблема, которая не показывает предыдущую модификацию этой строки кода. Например, кто-то из команды проекта отформатировал весь код,git blameОно потеряло свой эффект. На этом этапе его можно комбинировать с другой полезной командойgit log -p <file>Комбинированное использование, вы можете просмотреть историю изменений и детали файла, и, наконец, узнать, кто должен нести банк.

git blame -L 10,12 package.json
git log -p -L 10,12:package.json

Быстрое переключение веток слияния

Когда вы часто работаете над двумя ветвями, А и Б, вам нужно переключаться туда и обратно. Затем команда должна бытьgit checkout A, но вот более простая команда,git checkout -, что означает переход к самой последней ветке. Если вам нужно объединить содержимое ветки B, вы можете использоватьgit merge -.

не по теме,cd -От имени входа в последний каталог, это также весьма практично.

git checkout -
git merge -

Статистический проект

Подсчитайте коммиты каждого участника проекта, например, вы можете просмотреть количество коммитов в своем собственном проекте и количество вкладов, внесенных другими в ваш проект.

git shortlog -sn
git shortlog -sn --no-merges      # 不包含 merge commit

Быстро найти и отправить

Если ваше сообщение фиксации относительно стандартизировано, например, номер, связанный с проблемой, текущей задачей или ошибкой, вы можете быстро найти его в соответствии с сообщением фиксации:git log --grep "Add".

Если ваше сообщение коммита не стандартизировано, просто помните, какие строки кода были изменены, вы также можете искать ключевые слова в соответствии с предоставленной информацией каждый раз, даgit log -S "setTimeout".

В то же время он также может помочь быстрому позиционированию по автору и времени.

git log --since="0 am" &emsp;&emsp;&emsp;     # 查看今日的提交
git log --author="shfshanyue"     # 查看 shfshanyue 的提交
git log --grep="#12"              # 查找提交信息中包换关键字的提交
git log -S "setTimeout"           # 查看提交内容中包换关机子的提交

Быстро найти строки

Как найти все файлы ключевого слова замены?

использоватьVS Codeможно искать глобально, используяgrepтакже черезgrep -rn <keyword>для глобального поиска.

Однако они также будут искать игнорируемые файлы, такие как две известные внешние папки.node_modulesа такжеpublic(dist/build). Хотя grep может указать--excludeигнорировать файл, ноgitПриехать проще.

В это время вы можете использоватьgit grep <keyword>Чтобы решить эту проблему, другой ag также может решить эту проблему.

grep -rn <keyword>
grep -rn <keyword> --exclude config.js --exclude-dir node_modules
git grep <keyword>
ag <keyword>

Добро пожаловать, чтобы обратить внимание на мой общедоступный номерГорная Луна Путешествие, записывайте сюда мой технический рост, добро пожаловать в общение

欢迎关注公众号山月行,在这里记录我的技术成长,欢迎交流