使用bash alias简化命令
运行下面的代码,即可实现用ga代替git add、gc代替git commit -v等等简化的命令。
touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc
美化git log
code ~/.bashrc- 将下面代码添加到文件里面
alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less"
美化历史命令git rebase -i xxxx
后面跟的是提交号
- 复制你想要美化的版本的前一个版本的提交号
xxxx,比如:你想要合并版本2和版本3,你需要复制的就是版本1的提交号; - 运行命令
git rebase -i xxxx - 可以自己看一下下面的注释都有什么内容,不想看的话,直接将第二个
pick改为s或者squash,这样可以实现将两次的提交合并为一次; - 在COMMIT_EDITMSG文件里面注释上你的改动操作是什么,比如:添加文件2和文件3;
git log一下即可看到少了一次提交记录;
备注问题:
- 出错了看log提示,仔细阅读即可,里面会有解决方案;
- 终止:
git rebase --abort可以取消; - 继续:
git rebase --continue可以继续;
当你的代码没有写完,不想提交的时候,改何去何从呢?
通灵术git stash
ga 1.txtgit stash- 此时,你的1.txt就在当前目录里面隐身了;
- 可以用
git stash pop召唤出来;
备注问题:
常见的操作是git stash后面跟一个git pull,然后再git stash pop,实现文件之间当有冲突时,先隐藏一个,再提交,再现身,迂回方案解决冲突。
暂时没需就先写下来啦,以备后续只需