高效率开发- 工具的使用

112 阅读2分钟

高效率编程

工具使用

git使用

1.1 git的定义

Git是目前世界上最先进的分布式版本控制系统

1.2 git的基本使用

1.2.1 从远程仓库获取代码

例子 1

当我们在本地没有代码时,需要从远程仓库获取代码时。可以使用git clone的方式获取代码

git clone https://github.com/GodWY/protoc-gen-mqant

例子 2

当我们本地已经存在代码时,需要获取最新的代码

git pull https://github.com/GodWY/protoc-gen-mqant

1.2.3 分支操作

  • 查看本地所有分支
  git branch 
  • 查看所有分支(包括远程)
git branch -a
  • 删除本地分支
git branch -D
  • 拉取远程分支到本地
  git fetch origin feature/a:feature/a
  • 创建新分支
git branch feature/a
  • 切换分支
  git checkout feature/xxx
  • 切换并且创建新分支
  git checkout -b feature/xxx
  • 推送代码到远程
git push origin master
  • 覆盖代码到远程
git push origin master
  • 拉取远程分支
git pull origin master
  • 按照rebase的方式的拉取代码
git pull origin master --rebase
  • git rebase
// 切换到要变基的分支 确保拉取的代码是最新的
git checkout feature/xxx

// 在你的分支执行下面的命令进入变基
git merge-base develop feature/xxx

// 获取一个提交commit xxxxx
git rebase -i xxxxx 

进入日志编辑
执行 '2,$s/pick/squash/g' 替换从第二列开始的所有pick 

// 这一步必须的 获取A分支的最新代码
git rebase develop

---------------------
// 使用本地的代码覆盖远程分支的代码
git push origin  feature/xxx -f
// 如果你的代码不需要合并到分支A则不需要执行下面的命令
// 下面的命令是将你所在分支的代码合并到A分支
git co develop
git merge feature/xxx

  • 回退版本
// 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 

// 回退所有内容到上一个版本  
git reset HEAD^    
// 回退 hello.php 文件的版本到上一个版本          
git reset HEAD^ hello.php  
// 回退到指定版本
git  reset  052e           
// 回退到某一个版本
git reset --soft HEAD
// 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard HEAD
  • 将代码提到暂存区
git stash 
  • 将代码从暂存区释放
git stash pop 

请注意此种方法可能造成代码丢失

  • cherry-pick
git cherry-pick xxxx

gitg个性化配置

  1. 配置log
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  1. 其他配置
git config --global alias.st status
git config --global alias.co checkout

总结

使用git命令可以提升开发速度并且更好的理解其原理