Несколько месяцев назад я написал таблицу о 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"     # 查看今日的提交
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>
Добро пожаловать, чтобы обратить внимание на мой общедоступный номерГорная Луна Путешествие, записывайте сюда мой технический рост, добро пожаловать в общение