git常用命令总结
高效率编程
工具使用
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命令可以提升开发速度并且更好的理解其原理
gitlab使用介绍
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务可通过 Web 界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。可以简单的理解,gitlab 就是支持搭建在本地(公司)服务器上的一个 github。 支持相关的个性化设置和配置,同时gitlab 支持相关的 CI (持续化集成), 为相关的项目自动化集成构建、测试、部署、交付提供了可能。
cicd介绍
在软件工程中,CI/CD 或 CICD 通常指的是持续集成(Continuous Integration)和持续交付(Continuous Delivery)或持续部署(Continuous Deploy)的组合实践。CI/CD 通过在应用程序的构建、测试和部署中实施自动化,在开发和运营团队之间架起了桥梁。
如何在gitlab中进行cicd
1.1 在项目工程主目录中创建 .gitlab-ci.yml文件
touch .gitlab-ci.yml
1.1.1 yaml文件是什么?
是一个可读性高,用来表达数据序列化的格式.