首页 > 其他分享 >git的使用

git的使用

时间:2023-06-21 21:34:29浏览次数:35  
标签:git 仓库 dev 版本 使用 远程 分支

简介:

"""
什么是git:版本控制器 - 控制的对象是开发的项目代码
代码开发时间轴:需求1 => 版本库1 ==> 需求2 => 版本库2 => 版本库3(版本库1) => 版本库4(版本库2) 
"""

 

git工作流程:

  -工作区:存放代码的文件夹,只要工作区文件发生变(修改,新增,删除)
  -暂存区:工作的变更,提交到暂存区 git add . 把工作区变更提交到暂存区
  -版本库:暂存区内容,放到版本库,被版本管理--->git commit -m ''

 

安装git:

  https://git-scm.com/download/win

  安装完毕在cmd中输入:git version确认,有反应代表安装成功

 

git常用命令:

#1.初始化仓库,需要在文件夹下执行:
  git init #在当前文件夹下就会创建出 .git的文件夹,此文件夹就会被git管理
  git init xxx #在当前路径下创建出xxx文件夹,并用git管理xxx文件夹

#2.配置用户:
  全局配置:以后所有的版本提交时,都使用这个用户和邮箱
    git config --global user.name '用户名'
    git config --global user.email '用户邮箱'
  局部配置:仅在当前仓库生效
    git config user.name '用户名'
    git config user.email '用户邮箱'

#3.查看仓库状态:
  git status #红,绿
    如果是红色:表明是在工作区发生了变化,没有提交到暂存区
    如果是绿色:表明暂存区数据没有提交到版本库
    如果没有东西表示当前目录下所有文件都被git管理了

#4.把工作区变更,提交到暂存区
  git add . #当前目录下所有增删改都提交
  git add 1.txt #只提交当前目录下1.txt这个文件的增删改

#5.把暂存区内容提交到版本库(提交到版本库后的文件后期都可以找回来)
  git commit -m '注释'   #如果不设置用户无法提交

#6.查看版本信息(提交过哪些版本,注释是什么)
  git log
  git relog #简略版

7.把工作区变话的文件还原(只要动了文件,git status会变红,将变动的文件还原)
  git checkout . #当前路径下所有文件还原

8.把暂存区内容拉回到工作区(由绿色变回红色)
  git reset HEAD

9.从版本库拉回到暂存区(暂存区内容回退,变绿,)
  git reset --soft 版本号 #版本号需要写上一个版本号

10.把版本库拉回到工作区(版本库回退变为红色)
  git reset --mix 版本号

11.把版本库直接完整退回工作区
  git reset --hard 版本号

 

git忽略文件

#写项目的时候,有些文件或文件夹不希望被git管理,需要忽略掉它

忽略文件使用:
  #需要写一个忽略文件 .gitignore 必须为此文件,没有后缀名
  在忽略文件的文件夹写法:
    .idea #忽略idea文件夹及其下面所有的文件
    lqz.txt #忽略仓库中所有lqz.txt的文件
    /lqz.txt #忽略当前路径下的lqz.txt
    a/lqz.txt #忽略当前路径下a文件夹下的lqz.txt
    *x* #名字中有一个x的都会被过滤

 

git多分支开发:

#1.查看分支:
  git branch #本地
  git branch -a #本地和远程

#2.创建分支:
  git branch dev #创建dev分支

#3.切换分支:
  git checkout 分支名字

#4.删除分支:
  git branch -d 分支名 #不能在本分支删除该分支

#5.合并分支
  git merge dev #把dev分支合并到master上,合并完后两个分支就一样了

 

gitee远程仓库:

  新建仓库:

   本地仓库推到远端:

#git remote       查看有哪些远程仓库

#git remote remove origin 删除本地跟远程仓库的链接

#git remote add 远程仓库名字 远程仓库地址
  git remote add origin https://gitee.com/liuqingzheng/lqz.git

#git push origin master 把本地仓库中所有的内容提交到远程仓库
  输入:git push origin master后,会有弹出框,要求输入gitee的用户名和密码

  ssh方式链接远程仓库

    具体操作:

    1.先删除原来使用的https链接的remote:git remote remove origin

    2.增加一个跟远程仓库的链接   origin--------->是ssh协议的

      git remote add origin ssh协议

     3.本地机器生成公钥私钥(使用命令生成)

      生成步骤详情介绍:-https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE

     4.打开cmd执行:ssh-keygen -t ed25519 -C "自己设置的字符串"

     5.在自己c盘用户路径,生成了.ssh文件夹,里面有公钥和私钥

     6.把公钥配置在gitee上:设置---->SSH公钥

 

协同开发:

"""
1)作为开发者,第一次同步项目(前台已经是项目开发者了)
>: git clone 项目地址

2)保证自己本地有dev分支,且与远程仓库版本同步(没有就自己新建)

3)本地开发的代码,必须add、commit到本地版本库后,才和远程仓库进行交互

4)交互顺序:必须 先拉(pull)后提(push)

5)必须切换到要交互的分支,在与远程同名的分支进行交互,如本地dev与远程dev交互
>: git checkout dev
>: git add .
>: git commit -m '本次提交的信息提示'
>: git pull origin dev
>: git push origin dev
"""

 

冲突解决:

"""
1)在远程仓库和本地仓库版本不一致时,拉取远程仓库版本到本地时,两个版本进入融合,可能会出现版本冲突

2)定位冲突文件冲突代码,线下沟通冲突代码,整合代码解决冲突

3)将解决冲突后的代码重新提交到本地版本库

4)再拉去远程仓库,直到没有冲突,提交本地版本库到远程
"""

"""
<<<<<<< HEAD  # 冲突的开始
# 自己的代码
=======  # 分割线
# 别人的代码
>>>>>>> b63c408abd05b87fc492d40523240561999dba50  # 冲突的结束(版本)
"""

"""
1)删除冲突相关标识:冲突的开始、分割线、冲突的结束(版本)
2)线下沟通,根据实际需求完成代码整合
3)测试整合后的代码

"""

"""
出现冲突的前提:
1)不同开发者同时操作了同一文件
2)并且在相同行写了代码
强调:有业务交际时,版本合并不一定会出现冲突相关的标识,但是可能会带着代码运行崩溃,所有理论上每一次版本合并,都要测试合并后的所有功能(及其之少的情况)
"""

 

线上分支合并:

本地分支合并:git merge dev

有主分支------>开发分支开发完了----->合并到主分支上

  远端创建创建dev分支,拉取到本地:

    远端:

 

     本地:

git pull origin dev      #拉取数据
git checkout dev #切换分支

  

  本地创建dev分支推到远端:

1.创建分支:git branch dev
2.切换到dev分支:git checkout dev
3.将dev分支提交到远端:git push origin dev

 

  git pull和git fetch:

    -git pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地
    -git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作
    -git pull =git fetch +merge

 

标签:git,仓库,dev,版本,使用,远程,分支
From: https://www.cnblogs.com/Hao12345/p/17497176.html

相关文章

  • 使用 Vim 给文件设置密码保护
    Vim 是一种流行的、功能丰富的和高度可扩展的 Linux文本编辑器,它的一个特殊功能便是支持用带密码各种的加密方法来加密文本文件。本文中,我们将向你介绍一种简单的Vim使用技巧:在 Linux 中使用Vim对文件进行密码保护。我们将向你展示如何让一个文件在它创建的时侯以及为了修......
  • git 强制回退服务器上的commit
    假设你有3个commit如下:commit3commit2commit1 其中最后一次提交commit3是错误的,那么可以执行:gitreset--hardHEAD~1你会发现,HEADisnowatcommit2。 然后再使用gitpush–force 将本次变更强行推送至服务器。这样在服务器上的最后一次错误提交也彻底消失了。值得......
  • R语言中的跨平台支持:如何在Windows、MacOS和Linux上使用R语言进行数据分析和可视化
    目录当今数据科学领域,R语言已经成为了数据分析和可视化的流行工具。R语言具有强大的功能和灵活性,使得它可以在各种不同的平台上运行,包括Windows、MacOS和Linux。因此,本文将介绍R语言中的跨平台支持,如何在Windows、MacOS和Linux上使用R语言进行数据分析和可视化。一、引言随着数......
  • 使用TensorFlow进行自动化测试与部署
    目录标题:《使用TensorFlow进行自动化测试与部署》背景介绍:随着人工智能和机器学习技术的快速发展,TensorFlow成为了一个广泛应用的深度学习框架,被广泛用于构建神经网络、图像识别、自然语言处理等应用。在深度学习应用中,测试和部署非常重要,因为测试和部署是保证应用程序质量......
  • 如何从AWS中学习如何使用AmazonSimpleStorageService(S3)进行数据存储
    目录文章标题:32.《如何从AWS中学习如何使用AmazonSimpleStorageService(S3)进行数据存储》背景介绍:随着数据量的不断增加,数据存储的需求也越来越大。传统的数据存储方式已经无法满足现代应用程序的需求,因此,数据存储技术不断发展和创新,尤其是在云计算领域,各种存储解决......
  • 如何在 conda 环境中使用 pip 进行安装?
    有时候Conda中没有某个模块,但是pip中有,这时候就需要用到这里的技巧了。在conda环境中使用pip进行安装可以通过以下步骤完成:1、激活你的conda环境打开终端(命令提示符)并输入以下命令:condaactivate<环境名称>将<环境名称>替换为你要激活的conda环境的名称。2、安装pip(......
  • 使用GPU训练神经网络的历史
    我在一台没有GPU支持的Mac电脑本上本地部署了stable-diffusion-webui,并生成了一张图。这张图大概需要10分钟的时间才能生成,但如果有GPU支持的话,只需要几秒钟就能完成。这让我深刻体会到GPU的算力比CPU强大得多。GPU算力为啥远高于CPU更多的处理单元GPU在同样芯片面积上集成的处理单......
  • 基于粒子群的PMU优化配置,是一个使用粒子群优化算法(Particle Swarm Optimization, PSO
    基于粒子群的PMU优化配置软件:MATLAB介绍:电力系统PMU优化配置,为了使电力系统达到完全可观,以PMU配置数量最少为目标函数,运用粒子群算法进行优化处理,在IEEE303957118系统进行仿真验证。这段代码是一个使用粒子群优化算法(ParticleSwarmOptimization,PSO)来解决IEEE39节点电力......
  • 54 KVM工具使用指南-vmtop使用指南
    54KVM工具使用指南-vmtop使用指南54.1概述vmtop是运行在宿主机host上的用户态工具。使用vmtop可以实时动态地查看虚拟机资源的使用情况,例如CPU占用率、内存占用率、vCPU陷入陷出次数等。因此,可以使用vmtop作为虚拟化问题定位和性能调优的工具。54.1.1多架构支持当前vmtop支......
  • go 使用验证码库
    go使用验证码库标签(空格分隔):go安装gogetgithub.com/mojocn/base64Captcha使用packageapiimport( "github.com/gin-gonic/gin" "github.com/mojocn/base64Captcha" "go.uber.org/zap" "net/http")var( //存储方式 store=base......