王彪 @2021.4.3 10:40 PM
@x-Long 多次建议我写点git 相关的东西。
考虑到他总在我编码的时候问我某个操作要用什么命令,又考虑到他陪我喝酒蹦迪,就随便写点东西吧 ^-^
git
用的好,一份文件可以精确还原到某次编辑的版本;
git
用的好,多人可以同时搞同一个项目;
git
用的好,精妙的代码可以方便的分享给全世界的程序员;
git
用的好,搬砖轻便又巧妙;
git
大法好!
掌握以下技能后阅读本文档更佳,否则难以体会本文档的精妙之处。
- 用过 git 命令行工具
- 累计编码行数超过 1w 行
- 在 github 上创建过 repository
- 知道什么是 ssh 免密登录
- 知道什么是“家目录”
- 用途
windows 系统用git一般都装它,在安装过程有一点要注意,将其加入 cmd
的 PATH,这样你在 cmd
里也可以调用 git
命令
sourcetree
中代码的推送和拉取有时候存在问题
在家目录创建如下文件 .bash_profile 也可以从 这里下载
# 注意,路径应该写为这种格式 /d/code/games/thunder_plane
set repo_root=/path/to/repo
# command alias
g=git
alias gc="git checkout"
# 切换到主分支
alias gcm="git checkout master"
# 修改上一次提交信息
alias gamd="git commit --amned"
# (慎用)撤销当前所有修改
alias grst="git reset --hard HEAD"
alias gpl="git pull"
alias gps="git push"
# 一键切换到工作目录
q=cd $repo_root
简化 git 命令,下载 .gitconfig 放在你的家目录
[alias]
ck = checkout
mm = commit --amend
cm = commit -m
ca = commit -am
ci = commit
st = status
br = branch
df = diff
rst = reset --hard
mg = merge
mt = mergetool
# 使用命令 git lg 可以查看更简洁的历史记录
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
# 该配置使得每次推送只需要 git push 即可,默认 push 当前 branch
# 如果没有该配置,推送代码一般要 git push origin master
[push]
default = current
你心情不好,不小心将 ”解决了鲨凋同事前端验证码输入错误时没有自动更新验证码的bug" 写入到了提交信息中。
写的时候爽了,考虑到如果前端是个玻璃心,人家可能会幽怨。
于是你想修补本次事件,如下命令即可
git commit --amend
# 在随后弹出的编辑器中,手动修改自己的提交信息
amend 这条命令我经常用,但并不是为了修改提交信息。有时候解决完一个问题并做了提交,再看看代码还可以优化. 改吧改吧之后,代码看起来更养眼,此时再做一次提交显得“多余”. 使用 amend 即可将本次修改合并到前一次提交中,有时候我会 amend 五六次。