为什么需要 Git 别名
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
我使用 Git 别名已经有一段时间了。有人看到我用,问我,我解释过,也鼓励他们用,但他们都没学会。为什么呢?
或许我的说服力不够强,所以我打算再申诉一次。
Git别名
Git别名是Git命令的简写。只需将其添加到您的.gitignore文件中即可~/.gitconfig。
[alias]
st = status
ch = checkout
chb = checkout -b
现在,你不用再输入checkout -b,只需输入即可chb。
git checkout -b bug12345
git chb bug12345
很酷吧?那么,还有什么呢?
为什么需要 Git 别名?
这很酷!
是的,我又说了一遍。但这不是很酷吗?能够一次性执行多个命令。当其他人逐个执行 Git 命令时,你可以走捷径,使用别名。打破常规。不得不承认,有时候使用 Git 别名感觉真的很酷(尤其是在结对编程的时候)。
它节省时间
我觉得无需赘述。只需点击几下鼠标,即可完成暂存、提交和推送更改。这大约能节省 10 秒钟,考虑到你每天大约提交 10 次,每天至少可以节省 2 分钟。你可以利用这些时间泡杯咖啡、去趟洗手间、更新代码审查员的信息,或者伸展一下身体,小憩片刻。
我的 Git 别名
以下是我常用的一些别名。我在这里分享所有别名。
[alias]
#current branch
me = !git rev-parse --abbrev-ref HEAD
#publish
up = !git push origin -u $(git me)
#unpublish
down = !git push origin --delete $(git me)
#stage all then commit with message
acm = !git add . && echo 'Staged all changes, if any.' && git commit -m $message
我最近发现了这个Gitfixup别名。它允许你将暂存的更改修改到特定的提交。
fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
使用方法很简单,只需提供要修改的提交的 SHA-1 哈希值即可。
git fixup d670460b
瞧!你最近暂存的更改应该已经修复到该提交为止了。
别名有很多用途。例如,在解决变基冲突时,我也会使用 Git 别名打开TortoiseGit并对源文件执行diff操作。探索这些可能性就看我们的了。
为什么不使用 Git 别名
X:那么发布分支的git命令是什么来着?
我:git up
X:这不是git命令。
我:(想起来了,这是个别名)哦,等等。我查一下。
好吧,因为你用了别名,所以忘记原来的命令很正常,没办法避免。不过别担心,我会帮你解决的。Git 也有一个专门的别名可以解决这个问题。
# list aliases
la = !git config -l | grep alias
用于git la列出所有别名及其对应的命令。是使用 Git 别名进行各种操作的绝佳方式。
结论
希望我对 Git Alias 的介绍足以让你尝试一下。只是想分享一下使用它的乐趣。希望它也能对你日常的编程实践有所帮助。
其他用户能否分享一下你们最喜欢的别名?你们最喜欢它的哪一点?
对于其他不这么认为的人来说,为什么不呢?
文章来源:https://dev.to/devcamilla/why-git-alias-575h

