Git的基本使用

(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够) 主分支中将分支的代码合入时不需要处理冲突了,因为之前在分支上拉取了主分支代码处理过冲突了,但是在多开发者的共同开发的情况下,这不是一定的,因为在我们将多位开发者的多份代码合入主分支时,如果此时有人提交了的代码和你提交的代码有交集,就有可能导致冲突发生,但这种情况下,概率比较低,一般来说,每个开发者负责的开发任务一般没有交集,即使别人提的代码,很少会影响到你提交的代码,但是如果有冲突,解决一下也可以。因为我们要合入代码到主分支master,所以先拉取master分支的最新代码,防止合入时产生冲突。 阅读详情

1、Git简介

1.1、Git结构

  • 本地库:存储历史版本
  • 暂存区:临时存储 ,git commit 提交 到本地库
  • 工作区:写代码使用 ,git add 提交到 暂存区

1.2、Git和代码托管中心

代码托管中心:维护远程库

局域网:Gitlab服务器

外网: gitHub和码云

1.3、团队内部和跨团队合作

w

2、Git的常用命令

2.1、本地库初始化

命令:

git init

生产 .git/目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yncvQwsI-1596106388153)(C:\Users\txc\Desktop\git学习\snipaste_20200729_220543.jpg)]

注意此目录文件不要删除

2.2、设置签名

  • 形式:

    • 用户名:
    • 邮箱 :
  • 用途:目的是区分不同的开发人员,同远程代码库的用户名和密码没有关系

  • 命令:

    • 项目级别/仓库级别:仅在当前本地库范围内有效,配置信息保存在 本地库的 .git/conf 文件里

    • 配置用户名

    ```shell
    git config user.name   xxxx_pro
    ```
    
    • 配置邮箱

      git config user.email  xxxx_pro@163.com
      
    • 系统用户级别:登录系统的当前用户有效, 配置信息保存在 系统用户 .git/conf 文件里

      • 配置系统级别用户名

        git config  --global user.name   xxxx_pro
        
      • 配置系统级别用户邮箱

        git config  --global user.email   xxxx_pro@163.com
        

      优先级:项目级别优先于系统用户级别,二者都有时采用项目级别的签名,项目级别没有采用系统用户级别,都没有会报错

2.3、 查看状态

  • 命令:查看工作区,和缓冲区的状态

    git  status
    

2.4、添加操作

  • 命令:将工作区 的新建和修改添加到缓存区
git add   文件

2.5、提交操作

  • 命令:将暂存区的内存提交到本地库
git commit -m "commit description message"   文件名

2.6、查看历史记录

命令 :

git log 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iZQ6p1Ul-1596106388156)(C:\Users\txc\Desktop\git学习\gitlog命令.jpg)]

  • 多屏显示控制方式:

    • 空格向下翻页
    • b 向上翻页
    • q 退出
  • 命令:

    git log --pretty=oneline
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qRIesZGp-1596106388158)(C:\Users\txc\Desktop\git学习\gitlog-pretty.jpg)]

  • 命令:

    git   --oneline
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P2jzRfPd-1596106388161)(C:\Users\txc\Desktop\git学习\gitlog-oneline.jpg)]

  • 命令:

    git  reflog
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E2DR6Mfd-1596106388164)(C:\Users\txc\Desktop\git学习\git reflog.jpg)]

    head相当于指针,操作head指针操作版本

2.7、前进后退版本

1.基于索引值操作

  • 命令

    git  reset  --hard   局部索引值
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bYYO3RQN-1596106388165)(C:\Users\txc\Desktop\git学习\回到过去.jpg)]

2.基于 head ^ 、~ 操作

  • 命令:^ 一个 后退一个版本,n个^后退n步

    $ git reset --hard  head^
    $ git reset --hard  head~n   后退n步
    

2.8、Reset的参数对比

1. git reset --soft

  • 仅仅在本地库移动head指针

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gs2XNNuL-1596106388166)(C:\Users\txc\Desktop\git学习\soft.jpg)]

2. git reset --mixed

  • 在本地库移动head指针

  • 重置缓存区

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1GjJxG2-1596106388167)(C:\Users\txc\Desktop\git学习\mixed.jpg)]

3. git reset – hard

  • 本地库移动指针

  • 重置缓存区

  • 重置工作区

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-02mIIidJ-1596106388169)(C:\Users\txc\Desktop\git学习\hard.jpg)]

2.9、永久删除文件找回

前提是已提交到本地库,再进行删除文件

  • 操作:git reset --hard 指针位置

2.10 、文件比较

  • 命令: 将工作区的文件和缓存区文件比较

    git dif  文件名
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L7dAk8Ss-1596106388170)(C:\Users\txc\Desktop\git学习\snipaste_20200730_004154.jpg)]

  • 命令:将工作区的文件和本地库的历史记录进行比较

    git diff  HEAD^   文件 
    

不指定文件,会比较所有文件

3、Git的分支

  • 简介示意图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ygaC0y0W-1596106388171)(C:\Users\txc\Desktop\git学习\snipaste_20200730_005850.jpg)]

  • 优点:

    • 并行推进多个功能开发,提高开发效率

    • 各个分支开发,不互相影响

创建分支

  • 命令

    $ git branch fix_hot
    

查看分支

  • 命令:
    $ git branch  -v

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nuczg0Jb-1596106388172)(C:\Users\txc\Desktop\git学习\查看分支.jpg)]

切换分支

  • 命令:

    $ git checkout   fix_hot
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DgfQ3fpi-1596106388173)(C:\Users\txc\Desktop\git学习\切换分支.jpg)]

合并分支

  • 命令: 合并 必须在接受修改的分支上(Master)

    $ git  merge fix_hot
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j2z1Ga5O-1596106388174)(C:\Users\txc\Desktop\git学习\合并.jpg)]

  • 冲突产生原因:master分支和fix_hot分支 对同一行数据进行修改或操作

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9lu0Ym1V-1596106388175)(C:\Users\txc\Desktop\git学习\冲突表现.jpg)]

    1. HEAD 到=========== 为当前分支修改的内容
    2. ========= 到 master 为被合并的分支修改的内容

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LA8VIQac-1596106388176)(C:\Users\txc\Desktop\git学习\合并冲突.jpg)]

  • 解决冲突:

    1. 重新编辑文件,删除特殊符号
    2. 把文件改到满意的程度,保存退出
    3. git add 文件名
    4. git commit -m " " 注意:提交不带具体的文件名

4、本地库与远程库交互

成员一上传至远程库

  • 在 github 中创建远程库

  • 在本地创建远程库地址别名:

    $ git remote  add origin https://github.com/xxx/huashan.git
    
  • 查看别名版本

    $ git remote  -v
    
  • 将本地库上传至远程库:origin 为别名, master为上传Master分支

    $ git push  origin  master
    

成员二克隆至本地库

  • 命令:团队协作,另一成员clone至本地库,修改完再push到远程库,中间需要权限,添加为团队。

    $ git clone https://github.com/txcHello/huashan.git
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RYkTK917-1596106388177)(C:\Users\txc\Desktop\git学习\克隆.jpg)]

  • 效果

    • 完整的把远程库下载到本地
    • 创建 origin 远程地址别名
    • 初始化本地库

成员一 合并 成员二的文件

  • 命令:pull=fetch+merge

  • git fetch [远程库地址别名] [远程分支名]

只是将远程库的文件拉取到本地,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KKR9V69g-1596106388178)(C:\Users\txc\Desktop\git学习\访问远程地址Fetch.jpg)]

  • git merge [远程库地址别名/远程分支名]

  • git pull [远程库地址别名] [远程分支名]

解决冲突

要点
 如果不是基于 GitHub 远程库的最新版所做的修改, 不能推送, 必须先拉
取。
7)]

  • 效果
    • 完整的把远程库下载到本地
    • 创建 origin 远程地址别名
    • 初始化本地库

成员一 合并 成员二的文件

  • 命令:pull=fetch+merge

  • git fetch [远程库地址别名] [远程分支名]

只是将远程库的文件拉取到本地,[外链图片转存中…(img-KKR9V69g-1596106388178)]

  • git merge [远程库地址别名/远程分支名]

  • git pull [远程库地址别名] [远程分支名]

解决冲突

要点
 如果不是基于 GitHub 远程库的最新版所做的修改, 不能推送, 必须先拉
取。
 拉取下来后如果进入冲突状态, 则按照“分支冲突解决” 操作解决即可。

从零到一:用MSC Nastran Patran搞定悬臂翼颤振分析(附完整模型文件) 本文详细介绍了使用MSC Nastran和Patran进行悬臂翼颤振分析的完整流程,从几何建模、网格划分到模态分析和颤振求解。通过具体案例讲解关键参数设置和操作技巧,帮助工程师掌握气动弹性分析的核心方法,并附赠完整模型文件供实践参考。 阅读详情

相关推荐

用KalmanNet搞定非线性状态估计:当卡尔曼滤波遇上神经网络

本文深入探讨了KalmanNet如何将神经网络与卡尔曼滤波结合,以解决非线性状态估计中的模型失配和噪声不确定性问题。通过保留经典滤波框架并用RNN学习卡尔曼增益,该方法在无人机导航、机器人定位等场景中实现了模型驱动与数据驱动的优势互补,提升了估计的鲁棒性和灵活性。

mango的博客 310

如何使用 Git 进行多人协作开发(全流程图解)

1. Feature Branching 分支管理策略 2. 多人单分支开发与多人多分支开发的差别 3. 如何安全的解决合并冲突

罅隙的博客 5万+

机器学习笔记之玻尔兹曼机(一)基本介绍

在受限玻尔兹曼机——模型表示(Representation)一节中以玻尔兹曼机为引,介绍了受限玻尔兹曼机。从本节开始,将正式介绍玻尔兹曼机。相比于它的表示和推断过程,我们更关注它在求解过程中出现的问题。

静静的学习就好 7924

git团队内协作——学这一篇就够了

使用github为例,展示团队内协作的所有基本情况。

lxk116688的博客 3069

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3752

告别Overleaf!本地LaTeX环境配置:VSCode+TeXLive完全指南(Windows/Mac双平台)

本文详细介绍了如何在Windows和Mac平台上配置本地LaTeX环境,使用VSCode和TeXLive打造高效的专业写作工作流。从TeXLive安装到VSCode插件配置,再到高级技巧与性能优化,帮助用户摆脱Overleaf限制,实现更快速、更私密的学术写作体验。

3c4x5z6v7b的博客 952

【Git 小妙招】学习多人协作场景(万字图文讲解+实战练习)

还记得我们学习 Git 是为了什么吗?当然是实现多人协作了. 在学习了解博主前面关于 Git 的文章后, 我们就可以模拟来进行一些超超超简单的多人协作场景了. 本文就简单举两个多人协作的例子.

一些普普通通的学习笔记 2137

无人机飞控算法开发实战:从零到一构建企业级飞控系统

本文系统介绍了无人机飞控算法开发的完整流程,包括飞行动力学模型建立、传感器校准与数据融合、主流控制算法实现(PID、ADRC、EKF)以及企业级飞控系统架构设计。通过结合开源飞控框架(如PX4)和实际工程经验,提供了完整的代码实现示例,帮助学者从零开始掌握无人机飞控开发的核心技术。文中详细讲解了四旋翼无人机的动力学模型、传感器校准方法、EKF状态估计算法、PID和ADRC控制算法的实现,以及MAVLink通信协议的集成。最后,总结了完整的飞控系统开发流程和未来发展趋势。

全栈 3402

【Git】多人协作 -- 详解

⽬前,我们所完成的工作如下:基本完成 Git 的所有本地库的相关操作,git 基本操作,分支理解,版本回退,冲突解决等等。申请码云账号,将远端信息 clone 到本地,以及推送和拉取。是时候做最重要的一件事情了,实现多人协作开发。为了做这件事情,需要先做一些准备工作。

Elena's Blog 3947

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

高性能算力中心 — RDMA — Overview

目录 文章目录目录RDMA基于以太网的 RoCE/RDMA 计算优化NVMeNVMe Over Fabrics基于以太网的 NVMe 存储优化 RDMA RDMA(Remote DMA,远程直接内存访问)是一种新的内存访问技术,RDMA 让计算机可以直接存取其他计算机的内存,而不需要经过 CPU 耗时的处理。RDMA 将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA 技术的原理及其与 TCP/IP 架构的对比如下图所示。 InfiniBand(IB):从一开始就支持 R

烟云的计算 2366

Git 的基本使用

简单了解git的使用

2302_78290720的博客 675

TC8:SOMEIPSRV_SD_MESSAGE_07-09

TTL为服务实例的生命周期。在此生命周期之后,不提供服务实例。

jasonj333 908

【Git】Git 的基本使用

Git基本使用简介

阿润菜菜的博客 1372

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

在Ubuntu服务器搭建Git仓库,以及Git使用基本流程

介绍了如何在Ubuntu服务器搭建Git仓库介绍了如何使用Git命令介绍了如何使用VsCode集成的Git工具介绍了实用的Git Graph插件使用Git协作来提高效率的例子基于Ubuntu环境Git服务器搭建及使用Git 基本命令汇总手把手教你在VSCode中使用GitGit版本控制:提升开发效率的利器。

Xiaolan_2001的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Git 之二 Git 的基本使用

git 的基本使用,包括获取远程仓库、提交代码、创建分支、合并分支、删除本地分支、删除远程分支、冲突解决、打tag等。。。

huang_1988的博客 269

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

git的基本使用

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:本地仓库和远程仓库

学习笔记 3861

Git的基本使用——Git命令

文章目录参考官方其他简述GIT配置设置查看 list增加 add删除 unsetGIT基本命令Git项目搭建1. 创建本地仓库2. 提交代码到本地仓库3. 推送到远程仓库Git文件管理文件状态查看文件状态设置忽略文件配置SSHGit分支增加删除更改merge和rebase的区别查看 参考 本文是基于以下链接中的内容进行创作的,仅记录了我个人所需要的一些内容。 官方 Git 大全——非常详细的列出了git命令及其含义 Learn Git Branching ——模拟学习git分支 其他 狂神说-B站视频——比

weixin_45155865的博客 2094

git 与 git lfs 基本使用

打开 git bash ,运行 git lfs install,确保启用了 git lfs,就一个初始化,只需要执行一次,除非你重装 git。git lfs install 是为了确保在另一台电脑上启用了 git lfs ,因为远程仓库有大文件,需要用到 git lfs。下载好 git 之后,可以做些基本配置,比如设置用户名和用户邮箱,解决中文乱码问题,配置一些 git 常用指令的简短的别名等等。对于windows,下载 git 的时候,如果采用默认选项,会默认安装 git lfs。

qq_52878352的博客 442

git | git的基本使用

文章目录Git一、git的基础知识1.三种版本控制2.Git与SVN的主要区别二、git 创建仓库三、git的必要配置四、git的基本原理1.三个区域2.工作流程五、git 基本操作六、git的提交文档1.忽略文件七、配置ssh公钥八、使用idea中集成Git九、git分支十、git查看提交历史 Git 一、git的基础知识 1.三种版本控制 本地版本控制 集中版本控制 SVN 分布式版本控制 Git 2.Git与SVN的主要区别 SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用

为了远大的理想,冲锋! 477

git基本使用

1.安装 先从Git官网下载源码,然后解压,依次输入: ./config make sudo make install 2.配置 $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" ...

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 1974

(Git)使用Git在本地进行基本的操作

上一篇:学习Git(分布式版本控制工具)的第一天 接着上一篇的目录记录6. Git命令行操作6.1 本地库的创建和初始化.6.2 设置签名6.3基本操作6.3.1 查看本地库状态6.3.2 添加到暂存区6.3.3 提交到本地库6.3.4查看历史记录6.3.5控制版本前进或者后退 记录 日期:2020/04/26 心情:???????????? Description:上一篇是对Git的了解与安装Git的各项步骤,现...

qq_45048713的博客 1431
上一篇: Sql练习题总结持续更新
下一篇: Sqoop导入导出总结
keepHungery
博客等级 码龄8年 115粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值