Git 命令行的使用

毕业快两年,前一年一直在使用git图形化管理工具,最近喜欢上了命令行操做,简单暴力美啊,为所欲为的感受真的不错,以至于放弃了SourceTree等工具git

提到命令行,推荐一本书,《git权威指南》 ,适合边读边实践设计模式

简单理解基础概念

工做区:你的工做目录
暂存区:git add 以后
本地版本库:git commit 以后
远程版本库:git push 以后app

常见命令
  • git init 初始化一个git仓库,也就是在你的工做目录下建立一个.git文件夹
  • git remote add 别名 仓库地址 添加一个远程仓库地址
  • git remote rm 删除一个仓库
  • git remote -v 列出仓库列表
  • git fetch 获取远端分支
  • git branch -r 查看所有分支,包括远端分支
  • git pull
  • git push
  • git push -f 强推,不建议使用,生产环境建议ban掉此操做
  • git log
  • git diff 能够diff两个commit之间的差别
  • git show
  • git stash 贮藏,还原一个干净的工做区
  • git stash pop 弹出第一个贮藏
  • git checkout branchName 切换分支
  • git checkout commitId 切换到某个节点,这时将处于指针分离状态
  • git checkout fileName || . 抛弃工做区的修改,已经提交到暂存区的不会改变
  • git reset --hard 重置到head指针指向,会抛弃工做区和暂存区全部的修改
  • git reset commitId 重置到某个节点
  • git revert 神器啊!!!回滚全靠它,这里有一个小小的建议,每次提交只干一件事,相似于设计模式中的单一原则,相信我,回滚的时候,你会感谢本身为什么如此机智
  • git bisect 二分查找,良好的提交习惯就用不到它
  • git patch 打补丁
  • git apply 应用补丁
开启颜色输出
git config --global color.ui.true
git config --global color.status auto  
git config --global color.diff auto  
git config --global color.branch auto  
git config --global color.interactive auto
命令简化
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.co checkout
git config --global alias.lg 'log --graph'

每一个命令配上不一样的参数,会有不同的惊喜,具体这里就不写了,有问题,下方能够问我。工具

设置保护分支

应用场景:某个分支只有master才能push,这时你就能够把master分支设置成保护分支,别人只能经过merge request向你发起请求,经你code review 后合并到主线分支,流程很规范,也最容易把控,减小线上出问题的风险fetch

相关文章
相关标签/搜索