任何人都有一些git的宝石应该添加到每个基础安装?一些很酷的命令,你不能没有,因此将它们添加到.gitconfig [别名]的
ps:看到一些关于其他事情的问题,希望它是最好的地方
答案 0 :(得分:2)
我最近发现一个我非常喜欢的实际上是git的贡献目录,因此很容易获得:它被称为git new-workdir
它允许您为存储库创建第二个工作目录,而不会复制整个存储库。这允许你同时在两个独立的分支中工作,这对我来说非常方便。
答案 1 :(得分:1)
我得到的一些(随机网站,不记得在哪里)
查看所有提交的漂亮树状视图:
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
获取最后一个提交者
whois = "!sh -c 'git log -i -1 --pretty=\"format:%an <%ae>\n\" --author=\"$1\"' -"
显示最后一次提交
whatis = show -s --pretty='tformat:%h (%s, %ad)' --date=short
答案 2 :(得分:1)
这将为您提供la
和lc
,它们会向您显示严格按“作者”或“提交”日期排序的在线日志。 pretty
规范中的“u”与“unix时间戳”相关。 unix时间戳仅包含在排序中并在以后删除。时间的ISO版本仍然存在。
alias.la=! log () { git log --pretty=lau $1 | sort -rn | cut -d " " -f 2- | less ; } ; log
alias.lc=! log () { git log --pretty=lcu $1 | sort -rn | cut -d " " -f 2- | less ; } ; log
pretty.lau=format:%at %C(dim yellow)%h %C(cyan)%ai%Cgreen%d %Creset%s
pretty.lcu=format:%ct %C(dim yellow)%h %C(cyan)%ci%Cgreen%d %Creset%s
用法为git la <commit specifiers>
,因此可以是git la
或git la branch
或git la C1..C2
。但请注意,..
仍以通常的log
方式运行。排序只是后期处理。
这是另一个:
> cat ~/bin/git-advance
#!/bin/bash
C="`git log --first-parent --format=%H ..$1 -- | tail -1`"
if [ -z "$C" ]; then
echo "Could not determine next commit"
exit 1
fi
git checkout "$C"
当然,alias.advance=! git-advance
。使用情况为git advance <future-commit>
,并会检查从当前HEAD
到给定<future-commit>
的下一次提交。这将导致分离的HEAD,但我发现将git
的提交手动传播到另一个VCS很方便。没有保证,也没有尝试复杂的历史。
以下是合并冲突中错过重命名的实验性内容: