【进阶】git操作

241 阅读2分钟

使用bash alias简化命令

运行下面的代码,即可实现用ga代替git addgc代替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

  1. code ~/.bashrc
  2. 将下面代码添加到文件里面
    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

后面跟的是提交号

  1. 复制你想要美化的版本的前一个版本的提交号xxxx,比如:你想要合并版本2和版本3,你需要复制的就是版本1的提交号;
  2. 运行命令git rebase -i xxxx
  3. 可以自己看一下下面的注释都有什么内容,不想看的话,直接将第二个pick改为s或者squash,这样可以实现将两次的提交合并为一次;
  4. 在COMMIT_EDITMSG文件里面注释上你的改动操作是什么,比如:添加文件2和文件3;
  5. git log一下即可看到少了一次提交记录;

备注问题:

  1. 出错了看log提示,仔细阅读即可,里面会有解决方案;
  2. 终止:git rebase --abort可以取消;
  3. 继续:git rebase --continue可以继续;

当你的代码没有写完,不想提交的时候,改何去何从呢?

通灵术git stash

  1. ga 1.txt
  2. git stash
  3. 此时,你的1.txt就在当前目录里面隐身了;
  4. 可以用git stash pop召唤出来;

备注问题: 常见的操作是git stash后面跟一个git pull,然后再git stash pop,实现文件之间当有冲突时,先隐藏一个,再提交,再现身,迂回方案解决冲突。

暂时没需就先写下来啦,以备后续只需