当前位置: 首页 > article >正文

Git常用命令与基本操作(包括搭建git环境)

首先,在github注册邮箱,然后再Ubuntu下安装git和ssh服务(如果实在windows下需要下载git bash,其余操作与Ubuntu相同)。

Ubuntu搭建git环境

  • ssh-keygen -t rsa -C "注册账号的邮箱名字" 生成SSH通信用的公钥
  • 在github->settings->SSH->new SSH key把公钥内容拷贝进去。
  • 测试连接:ssh -T git@github.com
  • 配置git提交内容的用户名和邮箱信息:
    • git config --global user.name "xianwu"
    • git config --global user.email "763586526@qq.com"

git常用操作命令

1.代码拉取和提交

  • git clone命令的作用是,可以把指定的远程仓库代码拉取到本地
    • 示例:git clone git@github.com:xianwu543/HelleWorld.git
  • git add 把git工作区的代码改动添加到暂存区
    • 示例:git add main.cpp
  • git commit -m "xxx" 把暂存区的代码提交到本地分支
  • git push 把本地分支的代码推送(提交)到远程分支上去
    • 在main分支git push origin main将本地main分支推送到远程origin的main分支上
    • 在sortdev分支git push origin sortdev:main将本地sortdev分支推送到远程origin的main分支。
  • git pull 把远程代码拉取到本地
  • git status 查看当前操作的状态信息
  • git log 查看代码修改日志

2.git各阶段版本回退命令

git checkout -- 在git add之前,把工作区的代码用版本库中的代码覆盖掉,注意命令中的--不能 去掉,否则成切换分支的命令了

git reset HEAD 把git add之后,暂存区的内容全部撤销

git reset --hard commitid 把提交到本地仓库中的代码改动进行回退

git reflog 查看HEAD指针的改动日志

git push -f 强制推送本地仓库代码到远程仓库

git diff HEAD -- 查看工作区file文件和仓库中该文件最新版本的代码有什么区别

git brach --查看本地分支

git brach -r --查看远程分支

git brach -a --本地和远程分支都显示

git brach -vv --查看本地分支和远程分支的追踪关系

创建分支: git branch  

切换分支: git checkout  

创建+切换分支: git checkout -b  

合并某分支到当前分支: git merge  

删除本地分支: git branch -d  如果分支上有更新没有merge,git会提示你merge,强 制删除用-D 

本地分支推送到远程分支:git push <远程仓库名> <本地分支名>:<远程分支名> 

创建本地分支并指定追踪哪个远程分支:git checkout -b <本地分支名> <远程仓库名>/<远程分支 名>

设置已经存在的本地分支追踪哪个远程分支:git branch -u <远程仓库名>/<远程分支名>

3.git创建远程分支

项目负责人把main分支设置只读,表示项目一期结束,创建dev分支用于第二期开发。那么在开发者本地使用命令:

git checkout -b dev origin/dev

表示创建dev分支并让他追踪远程的origin/dev分支,然后进入本地dev分支。

git工作流实践

1.需求开发阶段

feature新特性的开发阶段

1.git checkout -b feature/mydev origin/dev --创建 追踪 进入

2.git pull(比较好的习惯,保证本地分支和远程分支的最新代码保持同步)

3.在本地分支feature/mydev上开发代码(git add xxx git commit -m "xxx")

4.把本地分支直接推送到远程 执行之前一定要先git pull操作一下

  • git push origin feature/mydev ---->> 在远程代码仓库中,新建了一个feature/dev的代码分支
  • git push origin feature/mydev:feature/mydev_v1.0
  • 代码评审工具 gitlab gerrit
  • feature/mydev_v1.0 ====>> dev
    • MR merge request 拉相应的人进行CR:code review

5.删除个人推送的远程分支

  • git push origin :feature/mydev_v1.0 把空推送到远程,相当于删除远程分支了

2. release阶段bug修改

release解决bug

1.git checkout -b bugfix/mybug origin/release

2.修改bug

git add xxx

git commit -m "xxx"

3.git pull

4.git push origin bugfix/mybug    --省略了远程分支,也就是传到了远程的bugfix/mybug上

5.代码评审工具 bugfix/mybug => release  MR  拉人CR        merge => release分支上了

6.git push origin:bugfix/mybug

hotfix热更新 解决之前的旧版本之上的bug。


http://www.kler.cn/a/304650.html

相关文章:

  • Linux如何更优质调节系统性能
  • 某app最新版 vmp算法分析一
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何查看PDS系统的自阻抗操作指导
  • 在linux中使用nload实时查看网卡流量
  • 前端--> nginx-->gateway产生的跨域问题分析
  • 基于迭代重加权最小二乘法的算法及例程
  • ResNet(Residual Network)网络介绍
  • [linux 驱动]misc设备驱动详解与实战
  • 【Python小知识 - 2】:在VSCode中切换Python解释器版本
  • 王者荣耀改重复名(java源码)
  • 服务器数据增量迁移方案-—SAAS本地化及未来之窗行业应用跨平台架构
  • Java项目: 基于SpringBoot+mybatis+maven新闻推荐系统(含源码+数据库+毕业论文)
  • 【vue-media-upload】一个好用的上传图片的组件,注意事项
  • 道路检测-目标检测数据集(包括VOC格式、YOLO格式)
  • Jenkins、Ansible 和 Git 的自动化部署教程
  • 使用C++实现一个支持基本消息传递的TCP客户端和服务器
  • 精准学:用一根垂直大模型支柱,撑起教育普惠的未来
  • 私域流量的价值探索:开源链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序的助力
  • Apache POI 学习
  • Linux的luks设备上的分区名字的一个现象
  • Docker镜像下载-使用github action- 解决无法下载docker镜像的问题
  • Apache Spark Streaming技术深度解析
  • IP core 在硬件上实现的流程
  • Linux环境使用Git同步教程
  • 软考中项(第三版) 项目成本管理总结
  • IP-Adapter学习