x

xxxx1212

V1

2022/03/29阅读:63主题:橙心

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个性化配置

  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命令可以提升开发速度并且更好的理解其原理

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文件是什么?

是一个可读性高,用来表达数据序列化的格式.

1.1.2 优势

  • YAML中没有额外的定界符,所以相比JSON或者XML更轻量级。没有额外定界符,所以更易读(这里持原作者和译者都持保留观点,不少开发者认为有定界符的可读性更强。)

  • YAML使数据更易于理解,因此常用于配置文件中(观点同上)

  • 应用比价哦广泛,除配置文件之外,传输数据和中间存储都有实践。

  • YAML是JSON 的超集,对于合法的JSON代码,同样可以被YAML解析,这样对于使用JSON和YAML的应用来说,可以使用一个解析器完成两种解析。然而其并没有如期望中那样受欢迎,具体而言,因为不同的序列化语言都有其特定的适宜语言或者场景(下文可以提到),并且YAML有一些不足相较于其他广泛使用的序列化语言。

protobuffer使用

分类:

后端

标签:

后端

作者介绍

x
xxxx1212
V1