我知道可以匹配一个单词,然后使用其他工具(例如grep -v)反转匹配.但是,我想知道是否可以使用正则表达式匹配不包含特定单词的行(例如hede).
输入:
hoho
hihi
haha
hede
Run Code Online (Sandbox Code Playgroud)
码:
grep "<Regex for 'doesn't contain hede'>" input
Run Code Online (Sandbox Code Playgroud)
期望的输出:
hoho
hihi
haha
Run Code Online (Sandbox Code Playgroud) 我想做一个提交
git commit --author="John Doe <john@doe.com>" -m "<the usual commit message>"
Run Code Online (Sandbox Code Playgroud)
其中John Doe是我想要提交其名称的某个用户.
看起来好像在git log.但是,当我这样做时gitk,作者姓名是正确的,但是从我的全局git配置设置中选择了提交者名称(因此设置为我的姓名/电子邮件).
两者之间有什么区别(提交者与作者)?
我是否应该将提交者设置为其他用户?
如果有,怎么样?
我们的项目使用Git作为版本控制系统,最近我需要审查某人的提交.如何查看特定用户提交的提交列表?
如何在github.com中查看用户的整个活动.
说Geos先生整个活动
有没有办法列出特定作者使用Git创建的文件?我还需要通过文件名(正则表达式/模式)或创建它们的文件夹来过滤这些结果。
所以我正在寻找的是作者创建的(未更新的)文件列表,没有文件名重复和提交消息。
我们正在开发一个项目,其中大多数提交都是由前端开发人员添加的.他正在编辑主要是HTML,CSS,JavaScript文件,这些文件与我正在帮助的后端工作无关.如果我能显示git log前端开发人员添加的减号提交,那将是很好的,因此我可以获得与后端相关的提交视图.
我可以传递一个选项git log,允许我排除作者的所有提交吗?我只想排除这一个开发人员的提交,我仍然关心查看其他开发人员的提交.
我有一个类似的任务,从 Bitbucket 获取所有用户提交。
有人可以协助使用 git 命令获取用户 mailId 或名称的所有列表吗?
从该列表中我可以获得每个的完整提交详细信息。
我只想在 gitk 中显示我的提交。我尝试使用命令
gitk --author="Eugeniy Maksimov" <path>
Run Code Online (Sandbox Code Playgroud)
gitk 不仅显示了我的提交,还显示了他们的父母。为什么?如何避免这种情况?
有多种方法可以使用 git log 来“选择”提交。例如:
和许多其他人。
但是,所有这些仅显示在命令行上选择的提交。我想要的是查看我范围内的所有提交,但突出显示(使用颜色、标记或其他任何内容)这些提交的特定子集,例如更改特定文件或其他内容的提交。所以在做的时候:
git log --oneline master..@ -- path/to/frobnitz
Run Code Online (Sandbox Code Playgroud)
而不是看到:
12ca6d863 foo
6166da1fd bar
894567343 baz
Run Code Online (Sandbox Code Playgroud)
我会看到类似的东西:
46984ad11 (HEAD -> master) git is fun!
2e11a5382 cool beans
>> 12ca6d863 foo
60069036d whatever
d698663d0 something
>> 6166da1fd bar
3d2c811e3 more cool stuff
>> 894567343 baz
3d2c811e3 cool stuff
Run Code Online (Sandbox Code Playgroud)
此外,理想的解决方案将使用--graphmode,因为我还想查看所选提交的合并和分支上下文。
我还注意到它git log支持各种历史简化场景,这在某些情况下几乎可以满足我的需求,但要弄清楚如何实现并不容易,也不是我想要的。我已经有了想要查看的历史记录,并且已经有了想要突出显示的提交。
我有一些想法,但我不喜欢其中任何一个:
编写脚本——运行两个 git 日志,然后使用其中一个的输出来装饰/操作另一个。这样做的缺点是它很脆弱,对于我可能提供给目标日志的不同选项集,它不能很好地工作,例如--graph
对于“选定的”提交,selectedcommits为它们分配临时引用,然后用于--decorate-refs=selectedcommits显示相关提交。这看起来很乱。
我大约一个月前创建了一个分支。从那时起,主分支进行了大量更新,功能分支不包括这些更新。我希望我的提交位于更新的主分支之上,我只希望我的提交被发布。我该怎么做(或者这甚至可能)?
更多信息:我的本地分支提交已经推送到远程分支,但没有推送到主分支。
我试过了git rebase,但后来我收到一条消息,说我的分支已经发生分歧,“并且分别有 X 和 Y 不同的提交。”
我不确定是否git push -f会解决我的问题。我不希望我的远程分支记录在 master 分支上所做的更改。我只希望我的远程/本地分支“位于”最新版本的 master 之上,并且仍然只显示我的提交。
我不想将 master “合并”到我的分支中,因为 1000 多次提交会使我的提交黯然失色,我希望只有我的提交才能被同行轻松审查。
我一直在做
git log | grep "chakra" -A3 -B3
Run Code Online (Sandbox Code Playgroud)
分别为每个分支.
有没有一种简单的方法可以找出一个人所做的所有提交.
git ×10
gitk ×2
bitbucket ×1
commit ×1
git-commit ×1
git-config ×1
git-log ×1
git-merge ×1
git-rebase ×1
github ×1
logging ×1
rebase ×1
regex ×1