推荐一些好用的git别名

2023-04-13 16:24:34 浏览数 (2)

背景

开发人员每天运行最多的命令是哪一个?npm,mvn,make…或者是大家都猜到的————git

我们在完成一个需求的开发,或者修复一个问题后,往往会进行如下一系列git命令:

代码语言:javascript复制
git add .
git commit -m "Feature A (OR Fix BUG B)"
git push

另外还有一些命令如git status,git fetch,git log,git checkout也是我们经常要用到的。

其实大家完全可以把一些常用的git命令设置成git别名,方便日常使用。

实战

git别名需要设置在~/.gitconfigalias项下,一个最简单的git别名只需要如下修改:

代码语言:javascript复制
# ~/.gitconfig
[alias]
    st =  status
    aa = add .

然后在终端输入git st,就会执行git status了。

在这个例子中我们只是少了三次按键,不过我们完全可以设置一些更强大的git别名。

下面是一些我个人推荐的一些好用的git别名:

代码语言:javascript复制
# ~/.gitconfig
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
    name = duyixian
    email = duyixian1234@qq.com

[format]
  pretty = format:%h �lue�%Creset %an %Cgreen%s%Creset # 设置log格式,--oneline的输出不带作者和日期

[alias]
    a = add
    b = branch
    c = commit
    st =  status

    # 同步
    get = !git fetch --prune && git pull --rebase=preserve && git submodule update --init --recursive
    put = !git commit --all && git push

    # 提交
    aa = add .
    amend = commit --amend --reuse-message=HEAD # 合并当前缓冲内容到上一次的提交并复用提交信息
    aamend = commit -a --amend --reuse-message=HEAD # 将修改过的文件添加到缓冲区合并到上一次提交并复用提交信息
    uncommit = reset --soft HEAD~1 # 撤销上次提交

    # 推送
    publish = "!git push -u origin $(git branch-name)" # 推送当前分支


    # 日志
    recent = log -n 5 # 列出最近五次提交
    today = !git log    --after="6am"  # 列出今天的提交
    week = !git log   --author $(git config user.email) --after="1.weeks" --date=short  # 列出当前作者这周的提交,周报专用

总结

大家可以设置自己常用的git别名,不用照本宣科,重要的是理解背后的git命令,从而能够切实提高效率。

0 人点赞