Отфильтруйте журнал git, чтобы отображались только мои изменения

93

Как я могу отфильтровать, git logчтобы отображались только мои изменения (исключая изменения, сделанные другими разработчиками)?

Veera
источник

Ответы:

110

Вы можете отфильтровать журнал, например, по автору, чтобы вы могли фильтровать его по своему имени:

git log --author="YourName"

или коммиттером:

 git log --committer="YourName"
алерут
источник
2
Кроме того, результаты можно улучшить с помощью любого количества комбинаций git log --author = 'Your Name' --oneline --pretty = format: '% h% x09% an% x09% ad% x09% s '--date = short или git log --pretty = format: "% h% x09% an% x09% ad% x09% s" --author = "Your Name"
sawe
также -iвключает регулярное выражение без --author
Trevor Boyd Smith
32

Вы должны использовать --authorфлаг для git-logкоманды .

Вот так:

git log --author="You Name"

Часть имени тоже работает:

git log --author=Name

Однако, если вы хотите использовать общий сценарий, как в этом совете , вы можете сделать это следующим образом:

git log --author="$(git config user.name)"

Затем вы можете создать псевдоним:

git config --global alias.mylog '!git log --author="$(git config user.name)"'

Затем вы можете просто ввести: git mylogи увидеть только свои коммиты.

Харалан Добрев
источник
git log --author = "$ (git config user.name)" не работает в Windows. Какие-либо предложения?
Андреас Престхаммер
@AndreasPresthammer Я не уверен, что вас все еще интересует проблема, но если ваша проблема связана с настройкой псевдонима, но если вы настраиваете этот псевдоним в текстовом редакторе, а не через git bash, у вас может быть проблема с неэкранированными двойными кавычками (по крайней мере, у меня была такая проблема). В моем .gitconfig в Windows я настроил эти псевдонимы, и они работают на меня. my-history = !git log --author=\"$(git config user.name)\"
Nelson O
@AndreasPresthammer Если вы запустите его cmd, это не сработает, потому что подстановка команды $()является синтаксисом Bash. Таким образом, подстановки не происходит, и вы в конечном итоге запрашиваете у Git дословно названного автора, $(git config user.name)которого явно не существует.
user31389