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

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 master

git 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 -vv
  dev    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,在本地解决冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/53315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

湖北安全员ABC证书电子版哪里下载?安全员证书可以全国通用吗?

湖北安全员ABC目前一个月有一到两批次的考试&#xff0c;需要报考安全员的直接问甘建二就行了&#xff0c;她都可以给您解疑答惑。 湖北安全员ABC证书电子版证书在哪里下载&#xff1f;怎么下载&#xff1f; 湖北安全员ABC证书也都是电子版的证书&#xff0c;直接从网上下载的…

虚拟机 RHEL8 安装 MySQL 8.0.34

目录 安装步骤一、清除所有残留的旧MySQL二、安装MySQL 报错问题1. 提示未找到匹配的参数&#xff1a; mysql-community-server2. 公钥问题 安装步骤 一、清除所有残留的旧MySQL 1. 关闭MySQL [rootlocalhost /]# service mysqld stop Redirecting to /bin/systemctl stop …

matlab编程实践14、15

目录 数独 "四独"游戏 解的存在和唯一性 算法 常微分方程 数独 采用蛮力试凑法来解决数独问题。&#xff08;采用单选数&#xff0c;以及计算机科学技术中的递推回溯法&#xff09; 以上的数独是图14-2的两个矩阵的和&#xff0c;左侧的矩阵可以由kron和magic函…

利用sklearn 实现线性回归、非线性回归

代码&#xff1a; import pandas as pd import numpy as np import matplotlib import random from matplotlib import pyplot as plt from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression# 创建虚拟数据 x np.array(r…

SQL SERVER使用发布订阅同步数据库遇到的坑

可能遇到的各种坑 1.在执行 xp_cmdshell 的过程中出错。调用 ‘CreateProcess’ 失败&#xff0c;错误代码: ‘5’ 网上有各种解决办法&#xff0c;包括改本地安全策略&#xff0c;将sql server服务的网络权限改为本机系统&#xff0c;改cmd用户的读写权限&#xff0c;退出360…

Android 开发代码规范

一. AndroidStudio开发工具规范 使用最新的稳定版本.统一文件的编码格式为utf-8. 清除每个类里面的无效的import导包.代码样式统一,比如&#xff0c;tab缩进4个空格&#xff0c;或者 tab size等如果没有特殊情况使用默认的配置即可。每行字数每行字符数不得超过 160 字符&…

flask处理文件上传

flask处理文件上传 在Flask框架中&#xff0c;你可以使用request.files对象来处理文件上传。以下是一个简单的文件上传的示例&#xff1a; from flask import Flask, request from werkzeug.utils import secure_filename import osapp Flask(__name__)# 定义文件上传的路径…

Web3将自己写在合约中的代币添加到MetaMask中管理

上文 Web3带着大家根据ERC-20文档编写自己的第一个代币solidity智能合约 带着大家在智能合约中创建了一个自己的代币系统 我们可以在MetaMask中去导入 ganache环境下模拟出来的第一和第二个账号 我们这里 可以看到他们的 ETH 但看不到自己的代币符号 没关系 我们点击这下面的…

cicd实验

系列文章目录 文章目录 系列文章目录一、1.2. 二、安装并使用1.安装gitlab2.//Jenkins安装3. 总结 一、 1. 2. 二、安装并使用 需要三台服务器一台安装gitlab 192.168.169.10 第二台负责 安装jenkins 192.168.169.20 第三台是负责业务 192.168.169.30 1.安装gitlab yum in…

【前端知识】React 基础巩固(三十九)——React-Router的基本使用

React 基础巩固(三十九)——React-Router的基本使用 一、Router的基本使用 Router中包含了对路径改变的监听&#xff0c;并且会将相应的路径传递给子组件。 Router包括两个API&#xff1a; BrowserRouter使用history模式 HashRouter使用hash模式&#xff08;路径后面带有#号…

Linux进程概念(一)

文章目录 Linux进程概念查看进程杀死进程进程标识符 手动创建进程的方式fork函数创建进程 进程状态运行态阻塞态和挂起 Linux进程概念 前文我们了解了&#xff0c;进程的基本概念&#xff0c;在课本上被描述为&#xff0c;正在执行的程序&#xff0c;在linux内核上&#xff0c…

第一百一十六天学习记录:C++提高:STL-string(黑马教学视频)

string基本概念 string是C风格的字符串&#xff0c;而string本质上是一个类 string和char区别 1、char是一个指针 2、string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char型的容器。 特点&#xff1a; string类内部封装了很多成员方…

C++——STL容器之list链表的讲解

目录 一.list的介绍 二.list类成员函数的讲解 2.2迭代器 三.添加删除数据&#xff1a; 3.1添加&#xff1a; 3.2删除数据 四.排序及去重函数&#xff1a; 错误案例如下&#xff1a; 方法如下&#xff1a; 一.list的介绍 list列表是序列容器&#xff0c;允许在序列内的任何…

Git学习

一、Git工作流程 二、Git学习 1.获取本地仓库 要使用Git对我们的代码进行版本控制&#xff0c;首先需要获得本地仓库 在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库进入这个目录中&#xff0c;点击右键打开Git bash窗口执行命令git init如果创建成功后可在…

点云处理——terrasolid教程

加载terrasolid软件模块 3、通过microstation的utilities->mdl applications加载terrasolid四个模块,加载成功后将显示tscan和tphoto的主窗口&#xff0c;以及四个模块的主工具箱。 浏览点云 4、显示点云坐标信息(类&#xff0c; 航带号&#xff0c;GPS信息&#xff0c;东…

文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;67&#xff09;-- 算法导论6.5 6题 六、在 HEAP-INCREASE-KEY 的第 5 行的交换操作中&#xff0c;一般需要通过三次赋值来完成。想一想如何利用INSERTION-SORT 内循环部分的思想&#xff0c;只用一次赋值就完成这一交换操作? 文…

【Django+Vue】英文成绩管理平台--20230727

能够满足大部分核心需求&#xff08;标绿&#xff09;&#xff1a;报表部分应该比较难。 项目地址 前端编译 https://gitlab.com/m7840/toeic_vue_dist Vue源码 https://gitlab.com/m7840/toeic_vue Django源码 https://gitlab.com/m7840/toeic_python 项目架构 流程 …

嵌入式面试常见题目收藏(超总结)

​ 这篇文章来自很多博客主和其他网站的作者&#xff0c;如有侵权&#xff0c;联系必删 文章出处标注&#xff1a; https://blog.csdn.net/qq_44330858/article/details/128947083 ***如需PDF或者原稿可私信 *** ***如需PDF或者原稿可私信 *** ***如需PDF或者原稿可私信 *** 1.…

16位S912ZVML32F3MKH、S912ZVML31F1WKF、S912ZVML31F1MKH混合信号MCU,适用于汽车和工业电机控制应用。

S12 MagniV微控制器是易于使用且高度集成的混合信号MCU&#xff0c;非常适合用于汽车和工业应用。S12 MagniV MCU提供单芯片解决方案&#xff0c;是基于成熟的S12技术的完整系统级封装 (SiP) 解决方案&#xff0c;在整个产品组合内软件和工具都兼容。 S12 MagniV系统级封装 (S…

EP4CE6E22C8N Error: Can‘t recognize silicon ID for device 1

经过各种排查&#xff0c;发现是AS配置不对&#xff0c;仅供参考 工程 参考某处的工程画板配置的FPGA板子&#xff0c;用于学习入门FPGA。 烧录sof文件是正常的&#xff0c;并能正常运行。 但是烧录jic是failed&#xff0c;查看报错为&#xff1a;Error: Can’t recognize si…