首页 > 其他分享 >Git版本管理及相关操作总结

Git版本管理及相关操作总结

时间:2024-07-25 22:54:06浏览次数:9  
标签:总结 文件 Git 仓库 更新 修改 git 版本 分支

Git常用操作

Git是开源的版本控制系统,常用于项目代码管理,文件管理等场景。

Git的常见操作命令按照操作顺序介绍

  1. 新建、管理远程仓库
  2. 克隆、更新本地仓库副本
  3. 上传本地修改、
  • 修改记录是每次上传更新的记录,一个修改记录可能包含多个文件的修改

    每个修改记录对应唯一的修改记录id

  • 回滚操作实际上是新提交一次更新以复原修改

    当回滚的修改记录不是文件的最新修改记录时,则会由于修改冲突而失败

    此时则需要人工修改后提交

  • 分支是一个远程仓库内的多个独立副本,每个分支都是完全独立互不影响的

    文件、修改记录都是单独存储的

    一个仓库默认有一个主分支,默认将文件存储到主分支

    创建新分支基于某个修改记录、某个分支、某个tag

    一个分支的多次修改可一次性更新到别的分支,称为合并(merge),实际上是对目标分支提交一次新修改

    但是可能会由于修改冲突而失败(目标分支也修改了相同文件),此时需要人工修改更新到目标分支。

​ tag是一个标识,用于标记基于某个修改记录归档对应分支下截止到此次修改及之前的文件方便版本迭代理。

​ tag是一个标识,不允许更新文件

​ 分支是独立副本,允许更新文件

  • git可对仓库进行用用户权限设置,包括查看、文件修改、仓库管理等权限。

  • 克隆远程仓库,将远程仓库文件克隆到本地仓库副本

    远程仓库文件也可直接进行压缩包下载,但是不支持后续的更新、上传操作。

  • 切换分支,本地仓库的副本的文件会一并改变

    默认情况下,克隆的是远程仓库的主分支

    当前仓库副本中的文件被修改了且未提交的情况下 则不允许切换分支,

    如果需要使用一个远程仓库的多个分支的代码,推荐克隆多个本地仓库副本

    克隆指定分支的命令:git clone --branch [目标分支名] [http克隆地址] [指定目录]

  • 远程仓库文件发生变化,可通过更新操作更新本地仓库副本

    命令行工具示例

    cd [目标仓库副本目录]

    git pull

  • 当前仓库副本中的文件被修改了且未提交的情况下,不允许切换分支

    如果需要使用一个远程仓库的多个分支的代码,推荐克隆多个本地仓库副本

    克隆指定分支的命令:git clone --branch [目标分支名] [http克隆地址] [指定目录]

  • 更新本地仓库副本时,恰巧需要更新的文件本地也修改了,则发生更新冲突而更新失败

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

对本地仓库副本中的文件修改完成后,需要手动上传到远程仓库才能同步

上传操作一般分为三步:

  1. 添加文件到暂存区
  2. 提交暂存区到本地仓库
  3. 上传远程仓库
  • 提交文件到暂存区,指定哪些被修改的文件为此次上传的内容

  • Git认为空文件夹是无效的,当然也不会上传,如果我们需要上传文件,需要再空文件夹中添加.gitkeep文件

  • Git对文件名的大小写不敏感

    将文件名从config改成CONFIG,Git不认为这是一次更新

    需要用户手动删除文件并上传同步后,再重新添加文件再上传同步

  • 提交本地仓库,将暂存区的修改内容打包成一次更新

    提交本地仓库需要填写更新日志

  • 提交本地修改,不会同步到远程仓库

    只记录会将修改记录在本地仓库副本的.git文件夹中

    用户可以多次添加文件到暂存区-提交本地仓库,以根据不同修改目的记录多次更新,填写多个更新日志

  • 提交远程仓库,将本地仓库的修改同步到远程仓库,可以一致性将多个本地仓库修改同步到远程仓库

  • 上传远程仓库,要求本地放仓库副本为远程仓库最新版本

    如果没有更新冲突,则再次提交即可

    如果发生更新冲突,恰巧本地修改的文件在远程仓库中也被修改了

    1. 撤销本地仓库提交,git命令行工具示例:git reser origin
    2. 解决更新冲突
    3. 再重新提交上传

    如果需要忽略更新冲突,可以强制上传远程仓库,但是这样会造成更新覆盖,造成团队代码覆盖,把别人的代码给弄没了。

    git config --global user.name "Teacher Egg" //配置git相关
    
    git config --global user.email "[email protected]"
    
    git init //初始化完成以后可以看到在文件夹里多了.git文件夹
    
    git status //获取git状态
    
    git add
    
    git commit
    
    git log
    
    .gitignore //忽略相关文件
    
    git branch bad-boy //创建新的分支
    
    git branch //查看分支
    
    git checkout bad-boy //进入所选分支
    
    git merge //把别的分支合并到当前所处的分支
    
    git remote
    
    git push
    
    git fetch
    
    git diff 
    

标签:总结,文件,Git,仓库,更新,修改,git,版本,分支
From: https://blog.csdn.net/Stay_Hun_forward/article/details/140701788

相关文章

  • 【测试工作跳槽复习之工作总结】常规性能测试步骤经验总结
    业务功能测试通过了解被测业务以及业务需求和访问量①业务实际应用场景②日活③日最大用户数④日高低峰时段⑤用户期望性能等获取被测业务的性能指标(如果没有现成指标,可以按如下方法确定基准)①生产环境拉取性能基准③测试压测环境压测(7*24h),获取性能测试结果,再拉......
  • C99 版本特性
    title:C99版本特性date:2021-07-2616:00:00前言本文性质为学习总结,若有错误敬请指正。目录C语言版本历史C99主要特性新特性示例代码文末C主要版本C语言的标准化过程由国际标准化组织(ISO)和国际电工委员会(IEC)负责。以下是C语言各个版本的主要顺序:K&RC(1978......
  • sql-DQL基础语句总结
    一·基础查询1.语法SELECT*|{[DISTINCT]column|expression[alias],...}FROMtable;select查询列表from表名;注意:(1)SELECT:标识选择哪些列(2)FROM:标识从哪个表中选择2、特点(1)查询列表可以是:表中的字段、常量值、表达式、函数。(2)查询的结果是一个虚拟的表格。二·......
  • 第三周DAY04---git
    一、git的主要功能二、安装git[root@git~]#yum-yinstallgit[root@git~]#rpm-ql git查看版本信息[root@git~]#git[root@git~]#mkdir/yy000 创建目录使用git指令,一定要cd到初始化之后的目录cd到yy000目录中使用init指令促使初始化[root@git~]#cd......
  • 2024.7.25(Git、gitlab以及分支管理)
    分布式版本控制系统一、Git概述Git是一种分布式版本控制系统,用于跟踪和管理代码的变更。它是由LinusTorvalds创建的,最初被设计用于Linux内核的开发。Git允许开发人员跟踪和管理代码的版本,并且可以在不同的开发人员之间进行协作。Github用的就是Git系统来管理它们的网......
  • 7.25第二周周四学习总结
    算法竞赛(差分)(上午)初始化#include<algorithm>intarr[100];std::fill(arr,arr+100,0);//比memset更高效intarr[100]={};//所有元素都初始化为0栈溢出为局部变量每次运行时都在运行栈中分配,如果数组很大,结果会造成运行栈溢出,自然就运行不了另外,使用全局变......
  • GitHub上一些值得关注的区块链项目
    FuelLabs/fuel-core-Rust全节点实现,支持Fuelv2协议https://github.com/topics/blockchain-projects。ethereum/go-ethereum-Ethereum协议的官方Go语言实现。bitcoinbook/bitcoinbook-《精通比特币》第三版,开源书籍,深入讲解比特币开发。heyxyz/hey-基于LensP......
  • SNMP Trap (V1,V2, V3)总结
    SNMPv1/SNMPv2trap配置以及发送接收Trap端:1./etc/snmp/snmptrapd.conf中,去掉行【authCommunitylog,execute,netpublic】前面的注释2.用命令【snmptrapd-f-Lo】监听并接收trap发送Trap端:1.发送如下命令snmptrap-v2c-cpublic{接收端IP}""1.3.6.1.4.1.111.115.1......
  • C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)
    文章目录1.OpenCVSharp简介2.图像基本操作3.图像颜色空间转换4.图像几何变换5.图像阈值处理6.平滑图像7.图像梯度8.图像边缘检测9.图像直方图10.图像轮廓检测11.图像特征匹配12.视频读取与显示13.图像形态学操作14.图像混合与透明度处理15.霍夫变换16.傅......
  • CHES 2023 issue-1文章总结
    来源:https://ches.iacr.org/2023/acceptedpapers.php简要分类:分类文章编号后量子密码软硬件加速相关无侧信道攻防相关1,2,3,4,5,6,8,9,12,13同态相关15,16,17,18,191.RiskyTranslations:SecuringTLBsagainstTimingSideChannelsFlorianSto......