高效率编程
工具使用
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个性化配置
- 配置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"
- 其他配置
git config --global alias.st status
git config --global alias.co checkout
总结
使用git命令可以提升开发速度并且更好的理解其原理