【Git】git企业开发命令整理,以及注意点

news/2024/5/17 2:55:43

1.git企业开发过程

业务的分支大概有以下几个:

master:代码随时可能上线

develop:代码最新

feature/xxx:实际业务开发分支

release/xxx:预发布分支

fix:修复bug分支

过程大概是这样的:

首先拉取远程仓库,切换到自己得分支进行开发本地feature/xxx,开发完成后,commit进行提交到本地,切换到本地develop,pull 下远程的develop,然后merge feature/xxx into develop,将本地develop push到远程的develop,发布测试QA,QA测试通过后,切换到本地master,pull 下远程的master,本地master得到最新master代码,将本地feature/xxx的代码merge into master中,然后将本地master代码push到远程的master。版本预发布,等等。

注意点:

①比如本地的master,根据本地的master切换出一个分支feature/login,修改完代码后没有commit,那么又直接checkout master,会造成本地feature/login上的代码自动合并到本地master上,所以写完代码后需要提交commit。

②在develop或者master分支 拉取后,合并代码后,需要再pull下远程的代码,

pull = fetch+merge

因为可能会有其他同学push了最新的代码,如果不pull,可能会造成冲突,还有可能造成覆盖远程的代码。

2.基本命令以及注意点如下:

# 配置用户名
git config --global user.name "test"# 配置邮箱
git config --global user.email "email"# 查看用户名
git config --global user.name# 查看邮箱
git config --global user.email# 查询配置
git config --global --list# 生成公钥
ssh-keygen -t rsa# 本地仓库初始化
git init # 修改或新增代码,添加到本地代码暂存区,工作区->暂存区
# 提交单个文件到暂存区
git add a.txt# 提交所有的文件到暂存区
git add .# 本地版本生成,提交,暂存区->本地仓库,每次commit,都会有一个版本记录的生成
git commit -m "提交文件内容说明"# 查看文件的状态, unstaged未暂存,staged已暂存
git status# 查看提交日志
git log[option]# 显示所有分支
git log --all--pretty=oneline  #将提交信息显示为一行--abbrev=commit   #使得输出的commitId更简短--graph           #以图的形式显示git log --pretty=oneline --abbrev-commit --all --graph# vim 编辑文件
vim 文件名# 版本回退,切换
git reset --hard commitID# 查看已经删除的文件记录
git reflog# 一些文件不想让git管理,创建.gitignore
touch .gitignore
vim .gitignore #将不需要管理的文件以及后缀输入# 关于HEAD HEAD指向谁,谁就是当前分支
有多个分支,只能对一个分支进行修改,这个分支称为当前分支。工作区看到的就是当前分支。 
是当前分支引用的指针,它总是指向某次commit,默认是上一次的commit。git 是如何知道你当前在哪个分支上工作的呢?其实答案也很简单,它保存着一个名为 HEAD 的特别指针。在 git 中,它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。# 查看分支
git branch # 新创建一个分支
git branch 分支名# 切换分支
git checkout 分支名# 创建并切换分支
git checkout -b 分支名  # 合并分支,比如合并到master,首先切换到master
git checkout mastergit merge dev01# 删除分支,-d需要做各种检查
git branch -d 分支名# 做强制删除
git branch -D 分支名# git冲突解决,
# 同一个文件的同一行
# HEAD 到 ==== 指向的是当前分支,
# ===== 到 >>>> dev是冲突分支
<<<<<<< HEAD
count=2
=======
count=1
>>>>>>> dev# 开发中使用的流程与原则# 连接到远程gitee
ssh -T git@gitee.com# 告诉本地远程仓库是哪一个
git remote add origin(远程仓库别名) 远程仓库地址
git remote add origin git@gitee.com:catchcode11/git_test.git# 查看远程仓库
git remote# 将本地代码推到远程仓库
git push origin 远程分支名
git push origin master(远程分支如果是master,那么后面的:master可以省略)# 将本地分支推到远程分支
git push origin 本地分支名:远程分支名
git push origin master:master# 强制推送
git push -f origin 本地分支:远程分支# 查看本地分支和远程分支的对应关系
git branch -vv# 
git remote -vv # 绑定本地分支和远程分支
git push --set-upstream origin master:master# 以下是设置的对应关系
$ git push --set-upstream origin master:master
Everything up-to-date
branch 'master' set up to track 'origin/master'.$ git branch -vvdev    c0cc516 update file03.txt count=1 dev
* master 15b61e1 [origin/master] git merge conflict# 克隆远程仓库到本地ssh
git clone <仓库路径> [本地目录]# 从远程仓库拉取代码到本地
# 抓取指令:将仓库的更新拉取到本地,但是不进行合并
git fetch [remote name][branch name]
git fetch origin/master# 拉取命令,就是将远程仓库的修改拉取到本地并进行合并,等同于fetch+merge
git pull [remote name][branch name]
git pull origin master# 在push到远程之前,先pull下远程仓库,把冲突解决掉。
git pull origin master,有conflict,在本地解决冲突。


http://www.mrgr.cn/p/22602307

相关文章

HTML+CSS+JavaScript:轮播图自动播放

一、需求 轮播图如下图所示&#xff0c;需求是每隔一秒轮播图自动切换一次 二、代码素材 以下是缺失JS部分的代码&#xff0c;感兴趣的小伙伴可以先自己试着写一写 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /&…

【期末课程设计】学生成绩管理系统

因其独特&#xff0c;因其始终如一 文章目录 一、学生成绩管理系统介绍 二、学生成绩管理系统设计思路 三、源代码 1. test.c 2. Student Management System.c 3.Stu_System.c 4.Teacher.c 5.Student Management System.h 前言&#xff1a; 学生成绩管理系统含教师…

Android 第三方库CalendarView

Android 第三方库CalendarView 根据需求和库的使用方式&#xff0c;自己弄了一个合适自己的日历&#xff0c;仅记录下&#xff0c;方便下次弄其他样式的日历。地址 需求&#xff1a; 只显示当月的数据 默认的月视图有矩形的线 选中的天数也要有选中的矩形框 今天的item需要…

浏览器安装selenium IDE插件并进行网页测试记录

Chrome开发者工具插件,谷歌浏览器开发者工具插件推荐下载_安装_教程-扩展迷 去官网直接搜索下载需要的插件就可。 插件下载安装-Chrome-扩展迷 下载好后解压&#xff1a; 打开Chrome谷歌浏览器&#xff1a; 设置>拓展程序>打开"开发者模式”>将下载好的seleni…

python结合tesseract-ocr识别汉字的训练库过程

一、安装python 例如&#xff0c;安装路径为&#xff1a;C:\rtkapp\python-3.8.0 二、安装opencv 三、安装tesseract-ocr 安装完成后&#xff0c;在系统环境变量path中&#xff0c;添加安装路径C:\rtkapp\Tesseract-OCR 四、打开python安装pytesseract 五、安装java运行环境…

状态机实现N位按键消抖

状态机实现N位按键消抖 1、原理 利用状态机实现按键的消抖&#xff0c;具体的原理可参考 (50条消息) 基于FPGA的按键消抖_fpga 按键消抖_辣子鸡味的橘子的博客-CSDN博客 状态机简介&#xff1a; 状态机分类可以主要分为两类&#xff1a;moore和mealy 根据三段式状态机最后…

婚庆服务小程序app开发方案详解

开发一款婚庆行业服务小程序有哪些功能呢&#xff1f; 1、选择分类 选择婚庆、婚车、婚宴、司仪、彩妆、婚庆用品、跟拍、摄影等&#xff0c;筛选出对应的商家 2、选择商家 选择分类后&#xff0c;可以选择商家&#xff0c;查看各个商家的详细介绍情况。 3、选择服务套餐 各…

飞书ChatGPT机器人 – 打造智能问答助手实现无障碍交流

文章目录 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 在飞书中创建chatGPT机器人并且对话&#xff0c;在下面操作步骤中…

gin框架内容(三)--中间件

gin框架内容&#xff08;三&#xff09;--中间件 Gin框架允许开发者在处理请求的过程中&#xff0c;加入用户自己的函数。这个函数就叫中间件&#xff0c;中间件适合处理一些公共的业务逻辑&#xff0c;比如登录认证、权限校验、数据分页、记录日志、耗时统计等 即比如&#x…

Generative Diffusion Prior for Unified Image Restoration and Enhancement 论文阅读笔记

这是CVPR2023的一篇用diffusion先验做图像修复和图像增强的论文 之前有一篇工作做了diffusion先验&#xff08;Bahjat Kawar, Michael Elad, Stefano Ermon, and Jiaming Song, “Denoising diffusion restoration models,” arXiv preprint arXiv:2201.11793, 2022. 2, 4, 6,…

rcu链表综合实践

基础知识 rcu-read copy update的缩写。和读写锁起到相同的效果。据说牛逼一点。对于我们普通程序员&#xff0c;要先学会使用&#xff0c;再探究其内部原理。 链表的数据结构&#xff1a; struct list_head {struct list_head *next, *prev; };还有一种&#xff1a;struct h…

【分布鲁棒、状态估计】分布式鲁棒优化电力系统状态估计研究[几种算法进行比较](Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

VAE-根据李宏毅视频总结的最通俗理解

1.VAE的直观理解 先简单了解一下自编码器&#xff0c;也就是常说的Auto-Encoder。Auto-Encoder包括一个编码器&#xff08;Encoder&#xff09;和一个解码器&#xff08;Decoder&#xff09;。其结构如下&#xff1a; 自编码器是一种先把输入数据压缩为某种编码, 后仅通过该编…

Python - Opencv + pyzbar实时摄像头识别二维码

直接上代码&#xff1a; import cv2 from pyzbar.pyzbar import decodecap cv2.VideoCapture(0) # 打开摄像头while True: # 循环读取摄像头帧ret, frame cap.read()# 在循环中&#xff0c;将每一帧作为图像输入&#xff0c;使用pyzbar的decode()函数识别二维码barcodes …

np.bincount、np.digitize、np.unique、np.histogram、np.searchsorted

np.bincount 简介 np.bincount是统计数组中数字出现数量的函数&#xff0c;数值n在输入数组x中每出现1次&#xff0c;则输出o的o[n]1。 函数 官方文档 函数参数&#xff1a; x: 输入&#xff0c;1维非负数组weights: 权重数组, 可选参数&#xff0c;如果指定了这一参数&am…

函数指针数组

前面学习过数组 指针数组&#xff1a;用来存放数组指针&#xff08;地址&#xff09;的数组 int main() {int arr1[] { 0 };int arr2[] { 0 };int arr3[] { 0 };int* p[3] { arr1,arr2,arr3 };//指针数组return 0; }那么函数指针数组&#xff0c;就是用来存放几个类型相同…

PyTorch - GPU入门教程1

1. 安装GPU版本的PyTorch 登录PyTorch官网https://pytorch.org/&#xff0c;下载对应CUDA版本的PyTorch【不能直接pip install&#xff0c;否则安装上的是CPU版本的】 2. 查看GPU信息 &#xff08;1&#xff09;重要信息 !nvidia-smi我的GPU版本很垃圾&#xff0c;本blog仅…

GitHub上怎么寻找项目?

前言 下面由我精心整理的关于github项目资源搜索的一些方法&#xff0c;这些方法可以帮助你更快更精确的搜寻到你需要的符合你要求的项目。 写文章不易&#xff0c;如果这一篇问文章对你有帮助&#xff0c;求点赞求收藏~ 好&#xff0c;下面我们直接进入正题——> 首先我…

RS485或RS232转ETHERCAT连接ethercat转换器

最近&#xff0c;生产管理设备中经常会遇到两种协议不相同的情况&#xff0c;这严重阻碍了设备之间的通讯&#xff0c;串口设备的数据不能直接传输给ETHERCAT。这可怎么办呢&#xff1f; 别担心&#xff0c;捷米JM-ECT-RS485/232来了&#xff01;这是一款自主研发的ETHERCAT从站…

多线程案例 | 单例模式、阻塞队列、定时器、线程池

多线程案例 1、案例一&#xff1a;线程安全的单例模式 单例模式 单例模式是设计模式的一种 什么是设计模式&#xff1f; 设计模式好比象棋中的 “棋谱”&#xff0c;红方当头炮&#xff0c;黑方马来跳&#xff0c;针对红方的一些走法&#xff0c;黑方应招的时候有一些固定的…