git在工作中如何搭建和运用(巨详细!!)

最近有点闲,出一版git在实际公司上的一些运用

1,下载git,

下载git就不多说了,官方上下载安装就好了。

2,初始化

    下载安装完成后,找个项目的空文件夹进去,右键点击git bash here ,在弹出的git命令输入框内输入git init ,初始化,当文件夹中新增加了一个.git 文件夹后,就算成功了(有些是设置了文件隐藏,在文件夹设置上设置一些即可)

    git init

3,生成密钥,设置名称和邮箱

3.1 当我们初始话init成功后,这时候就需要设置用户名和邮箱,然后在生成密钥

设置用户名称,没报错即成功

git config --global user.name"ceshi" //引号里面的是要自己设置的用户名

  3.2  设置邮箱,没报错即成功

        git config --global user.email "ceshi@163.com" //引号里面的是要自己设置的邮箱

3.3 生成密钥

         ssh-keygen -t rsa -C 'ceshi.@163.com' // 引号里面是上一步设置绑定的邮箱号

3.4 ,拿到密钥 在git云仓库上绑定

        在c文件夹下的用户下.ssh下的id_rsa.pub文件里,打开文件复制里面的内容

3.5 在git仓库上绑定

        这里我用云效仓库为例,

        进入云效页面后,点击设置,在弹出的页面上选择ssh公钥,将刚刚在id_rsa.pub里赋值的内容,拷贝到公钥输入框里,在输入一个标题,这里标题可以随便输入,合理就行,在选择一个作用范围,在选择一个过期时间,点击添加即可。

4,代码处理

        当我们前期准备工作做好后,这时候就需要在git拉取代码这里大概分类几个步骤,咱们一步一步来

4.1 链接远程地址

        就是将当前文件夹绑定线上git仓库,以实现数据和本地实现同步。

        git remote add origin git仓库地址

        git仓库地址,是在云仓库上,找到我们需要的代码仓库,找到克隆下载,在展开的页面选择ssh,然后复制git开头的那一串地址,将复制下来的地址放在上图的 git仓库地址 的位置 回车确认即可

4.2 设置本地仓库

        本地仓库是我们修改代码后,先存放在本地仓库的分支,然后在同步到线上的仓库的分支,所以本地仓库和线上仓库是高度同步的,仓库名称必须一致,这里,云仓库的的分支名称和路劲可以问公司的开发,或者是自己上云仓库查询 ,很简单的,

        这里先设置本地仓库

        这里会发现报了一个错,这里是因为当前git自动创建的分支master是无效的,所以 这里我们需要强行先拉取git上的代码,

        git pull git仓库的地址 //在云仓库复制的地址,

        成功后能看到本地的文件夹里多了很多的东西,这些东西就是线上仓库的代码啦,当代码拉取下来后,我们就可以新建本地分支

        git branch develop //develop分支名称,名称一定要与线上名称一致

没报错,即成功

4.3 本地分支和线上分支绑定

        这里我们要格外注意,本地分支一定要和线上分支名称一致!!!

        这里我们线上有一个develop分支,首先我们要绑定这个dvelop分支的话,首先,我们本地就要先切换到这个分支

        git checkout develop // develop是新建的本地分支的名称,

        当我们看到路径后面显示的是我们创建的分支名称时,就代表着分支切换成功

        分支切换完成后,就要将本地分支和线上分支绑定了

        git branch --set-upstream-to=origin/develop develop // git branch --set-upstream-to=线上分支路径和名称 本地分支名称

         有个地方要注意下,这里如果绑定分支的时候,控制台报了一连串的黄色警告,这里不要紧,先git pull 同步下代码,然后在重新将本地分支和线上分支绑定下即可

4.4 提交代码

.        提交代码至缓存区

                git add . (后面接点是代表提交所有修改的文件,后面还可以接通过git status-s查出来的文件路径,选择文件提交)

        添加提交备注

                git commit -m “备注”

         提交代码

                git push

具体的工作中的流程!!

这里git仓库已经设置好了 这里我先说一下我项目中开发过程中的一些步骤,首先,git仓库上会有多个分支,有一个生产分支(所有人的代码都合并到这个分支),若干个开发分支(每个开发人员都有自己的开发分支),我们要先写代码时,首先,我们先要切换到生产分支,git checkout develop,在生产分支上用git pull (这里要注意下,不管是什么分支,一定要在本地创建本地分支,然后将本地分支和线上分支绑定,我是创建了2个分支,一个生产一个开发,这2个分支都得新建本地分支,然后绑定线上分支),当我们在生产分支把代码拉下来后,就得合并到我们的开发分支上,,首先先切换到我们的开发分支 git checkout cesgu 然后在开发分支里,用 git merge develop ,将生产分支的代码和开发分支的代码合并,有冲突先解决冲突在合并,当合并完成后,我们就可以进行开发了,当我们开发完成后,第一步,首先先将代码提交到当前开发分支上,提交完成后,然后在本地切换到生产分支,在生产分支上将开发分支的代码合并过来,然后提交即可。要注意的是!!每次进公司打开电脑,第一件事就是 拉取最新的代码,这是血的教训,我就是忘记拉新代码了,导致冲突越来越大,不得已 只能自己慢慢的把冲突消除掉。

新手一定要将我上段的文章理解好,万变不离其宗。

有问题可以私聊或者评论,本文章只适合很新很新的新手。

拜拜!!

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

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

相关文章

Android 视频直播提拉流 嵌入式硬件 流媒体开发详细内容

1 Linux 系统编程网络编程基础 2 Linux 网络编程流媒体服务器,客户端开发实践 3 Android流媒体客户端 FFmpeg OpenGL ES 开发实践 4 Android H.264 AAC 封装mp4开发实战 5 流媒体开发实战之Rtmp推流 6 流媒体开发实战之RTSP推流 7 流媒体开发实战之UDP 8 P2P点对点项…

培训报名小程序报名列表页开发

目录 1 创建页面2 组件搭建3 设置URL参数4 设置筛选条件5 首页跳转6 最终的效果总结 这节我们来开发报名列表功能,先看原型 1 创建页面 功能要在页面上呈现,需要先创建页面。打开我们的培训报名小程序,在页面区,点击创建页面的…

多元回归预测 | Matlab主成分分析PCA降维,PLS偏小二乘回归预测。PCA-PLS回归预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab主成分分析PCA降维,PLS偏小二乘回归预测。PCA-PLS回归预测模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warn…

CUDA+CUDNN+torch+torchvision安装

弄了好久,终于弄好了!!! 原因:其实之前我是已经配置好pytorch的相关环境的了。但是这段时间,在跑GNN相关论文中的代码时,发现代码中的某个函数要求torch必须得是1.8 而我之前安装的是torch1.1…

《MySQL技术内幕》读书总结(一):MySQL体系结构和存储引擎

文章目录 前言:1、定义数据库和实例2、MySQL体系结构3、MySQL存储引擎InnoDBMyISAM 4、连接MySQL 前言: 该技术文章是我阅读《MySQL技术内幕 InnoDB存储引擎》第2版的总结梳理 我写这里文章的目的:书中的内容过于系统和繁琐,并不是…

C++学习 数组

目录 数组 一维数组 数组名 案例:冒泡排序 二维数组 数组名 数组 数组就是一个集合,里面存放了相同类型的数据元素。 下面的数字对应为数组的下标(索引),可以看到索引范围为0~数组长度-1 特点: 数组中数据元素的数据类型相同。…

Unity3D 场景添加obj模型

有一个立方体的obj模型;将其拖到Assets文件夹节点上,在此节点放手,资源被加入项目; 在右侧显示出对象概览; 点击箭头,显示此模型下的子对象; 然后按住Assets面板中的cube1对象,拖动…

36.RocketMQ之Broker如何实现磁盘文件高性能读写

highlight: arduino-light Broker读写磁盘文件的核心技术:mmap Broker中大量的使用mmap技术去实现CommitLog这种大磁盘文件的高性能读写优化的。 通过之前的学习,我们知道了一点,就是Broker对磁盘文件的写入主要是借助直接写入os cache来实现性能优化的&…

【Java项目】Vue+ElementUI+Ceph实现多类型文件上传功能并实现文件预览功能

文章目录 效果演示前端后端Java 效果演示 先说一下我们的需求,我们的需求就是文件上传,之前的接口是只支持上传图片的,之后需求是需要支持上传pdf,所以我就得换接口,把原先图片上传的接口换为后端ceph,但是…

诚迈科技董事长、统信软件董事长王继平出席全球数字经济大会

7月5日,2023全球数字经济大会“数字未来新一代软件产业高质量发展论坛”在北京大兴隆重举行。论坛以“数字新高地,数创兴未来”为主题,共同探讨产业升级新路径,凝聚数字经济合作新共识,构建数字产业集聚发展新高地。诚…

基于Qt5 实现的简易慕课爬取程序

基于Qt5 实现的简易慕课爬取程序 一、项目概述二、源代码 一、项目概述 名称:MookScrapy 这个项目主要是使用了 Qt 里面的 QNetworkAccessManager 去下载慕课网站的数据 https://coding.imooc.com,也就是这个网站里面的卡片信息。然后做一定的分析和展示…

每次装完 homebrew,ohmyzsh 就会报错:Insecure completion-dependent directories detected:

参考:https://zhuanlan.zhihu.com/p/313037188 这是因为在big sur安装homebrew后,会在/usr/local/share/生成一个zsh文件夹,里面包含了 因此,zsh文件默认设置的权限是775,也就是group user有writer的权利,zsh认为这是…

centos下./configure报错:Permission denied

./configure 文章目录 ./configure报错解决方案使用chmod给./configure赋予x权限sftp给configure文件赋予x权限 ./configure报错 -bash: ./configure: Permission denied解决方案 使用chmod给./configure赋予x权限 sudo chmod x ./configuresftp给configure文件赋予x权限

webrtc源码阅读之h264 RTP打包

本文来分析webrtc打包h264 rtp包的代码,版本m98 一、RTP协议 1.1 RTP协议概述 实时传输协议(RTP)是一个网络协议,它允许在网络上进行实时的音频和视频数据传输。RTP协议主要用于解决多媒体数据的实时传输问题,特别是…

React + TypeScript 实践

主要内容包括准备知识、如何引入 React、函数式组件的声明方式、Hooks、useRef<T>、useEffect、useMemo<T> / useCallback<T>、自定义 Hooks、默认属性 defaultProps、Types or Interfaces、获取未导出的 Type、Props、常用 Props ts 类型、常用 React 属性类…

macbook安装chatglm2-6b

1、前言 chatglm安装环境还是比较简单的&#xff0c;比起Stable diffusion安装轻松不少。   安装分两部分&#xff0c;一是github的源码&#xff0c;二是Hugging Face上的模型代码&#xff1b;安装过程跟着官方的readme文档就能顺利安装。以下安装内容&#xff0c;绝大部分是…

【C++进阶之路】模拟实现string类

前言 本文所属专栏——【C进阶之路】 上一篇,我们讲解了string类接口的基本使用&#xff0c;今天我们就实战从底层实现自己的string类&#xff0c;当然实现所有的接口难度很大&#xff0c;我们今天主要实现的常用的接口~ 一、String类 ①要点说明 1.为了不与库里面的string冲…

2.SpringBoot运维实用篇

SpringBoot运维实用篇 ​ ​ 下面就从运维实用篇开始讲&#xff0c;在运维实用篇中&#xff0c;我给学习者的定位是玩转配置&#xff0c;为开发实用篇中做各种技术的整合做好准备工作。 主要分为以下内容&#xff1a; SpringBoot程序的打包与运行配置高级多环境开发日志 ​…

Qt day3

完善文本编辑器 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QWidget>namespace Ui { class MainWindow; }class MainWindow : public QWidget {Q_OBJECTpublic:explicit MainWindow(QWidget *parent nullptr);~MainWindow(); public slots:void…

1.计算机是如何工作的(下)

文章目录 4.编程语言&#xff08;Program Language&#xff09;4.1程序&#xff08;Program&#xff09;4.2早期编程4.3编程语言发展 5.操作系统&#xff08;Operating System&#xff09;5.1操作系统的定位5.2什么是进程/任务&#xff08;Process/Task&#xff09;5.3进程控制…