版本控制工具之Git使用文档

news2024/11/24 9:52:43

以下讨论基于gitlab系统作为代码仓库。

项目Git初始化

        创建一个空的git库或者初始化一个旧有git仓库

git init

现有项目关联到远程仓库

git remote add origin git@172.16.200.39:public-team/spring-learn.git

下载代码

git clone <仓库地址>

查看已关联远程仓库

git remote -v

创建分支

git branch -c "新分支名称"

切换分支

#如果分支不存在,先创建分支
git checkout -b "新分支名称"
#如果分支已存在
git checkout "新分支名称"

查看文件提交状态

git status

查看文件修改内容

git diff <文件路径>

缓存文件

git add <文件路径>

放弃文件修改

git checkout <文件路径>

取回缓存文件

git reset <文件路径>
# 取回所有文件
git reset *

提交修改到本地仓库

git commit -m "提交说明"

推送到远程仓库

#master分支
git push
#其他分支
git push 远程仓库名称 <分支名称>
或者
git push 远程仓库名称 <本地分支名称>:<远程分支名称>

查看提交记录

git log

回退版本

#分为两种情况
#已commit到本地仓库,未push到远程仓库
git reset --soft <回退目标版本号>
#已push到远程仓库
# 缺点是强制回退,会删除版本日志
git reset --hard <回退目标版本号>
#使用revert,版本反写
git revert -n <版本号>

退出Reverting状态

git revert --quit

取消文件跟踪

git rm <文件名>

合并分支

git merge <合并源分支>

删除分支

git branch -d <分支名称>

查看提交版本修改内容

git show <版本号>

我遇到的一些问题

        初始项目代码提交问题

                执行git init会初始化当前分支为master,而初始gitlab是没有这个分支的,这就造成了无法提交代码的情况。

#提交到origin仓库的master分支
git push origin master
#如果我想把切换到main分支再提交代码
#先切换到main分支
git checkout -b main
#想要拉取main分支的readme文件失败
git pull
#原因是本地的main分支是新创建的,而远程的main分支创建早于本地,所以需要加--allow-unrelated-histories参数允许合并历史纪录
git pull origin main --allow-unrelated-histories
#再执行push就可以了
git push origin main

        跟队友代码冲突问题

                跟队友同时修改了同一个文件。上面是你的修改,下面是队友的修改。

                (1)简单粗暴的方法是手动修改。

                (2)执行git mergetool运行代码合并工具。

        开发过程中遇到线上问题需要切换分支

                我们需要拉取一个临时分支去修改线上bug,但当前开发分支又存在已修改文件无法切换分支。这种情况是很可能出现的。

 

                 这个时候,reset是不可能的,不能浪费了我的劳动成果,我需要使用git stash将已修改文件暂时保存。

# 暂存修改文件
git add <修改文件>
# 保存临时改动
git stash push -m "注释"
# 再切换分支

        使用reset命令回退了版本怎么找回

                如果我们遇到了这种操作失误的话,也不要慌。git早就帮我们想好了解决办法。git有个reflog命令可以查看所有的版本引用变化,包括不会留下log日志的reset --hard。

git reflog

                图中就显示了我git执行reset时的引用变化,我们再用reset去回退reset。

# 将版本回退到HEAD@{2}
git reset --hard HEAD@{2}

        这样版本就被找回了!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

脑的物理系统

⼤脑模块化 人脑是一个复杂的网络&#xff0c;一般将大脑划分为不同的区域&#xff08;即节点&#xff09;&#xff0c;并使用某种方法表征大脑区域之间的关系&#xff08;即连接的边&#xff09;来构建人脑网络。在功能磁共振成像&#xff08;fMRI&#xff09;数据的网络模型…

浪涌保护器:保护电子设备免受雷击侵害

引言&#xff1a; 随着电子设备在现代生活和工业领域的普及和广泛应用&#xff0c;雷击对电子设备的损害成为一个严重的问题。浪涌保护器作为一种重要的防雷设备&#xff0c;发挥着至关重要的作用。本文将介绍浪涌保护器的防雷作用、行业应用&#xff0c;并重点介绍浪涌保护器…

SPI接口协议详解

一、SPI总线简介 SPI总线是摩托罗拉公司开发的一种高速、全双工、同步的通信总线&#xff0c;它通常由四条线组成&#xff1a; CS 片选信号SCLK 时钟信号MOSI 主机输出从机输入接口MISO 主机输入从机输出接口 SPI分为主机和从机&#xff0c;主机提供通信所需的时钟信号。 二…

盘点那些让人笑疯了的520创意文案!

520&#xff0c;一场关于爱情和狗粮的龙卷风快来了&#xff1a; 玫瑰花&#xff0c;涨价了&#xff1b; 民政局&#xff0c;周末要加班&#xff1b; 肯德基&#xff0c;推出了萌宠玩具套餐&#xff1b; 很多人&#xff0c;站在风里等那没影儿的爱情。 今天原本计划是要写一…

【JAVA程序设计】(C00137)基于SSM(非maven)的校园BBS论坛系统

基于SSM&#xff08;非maven&#xff09;的校园BBS论坛系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目为基于SSM的校园BBS论坛管理系统包含前后台&#xff0c;前台为普通用户登录&#xff0c;后台为管理员登录&#xff1b; 管理员角色包含以下功能&#xff1…

使用taro+canvas实现微信小程序的图片分享功能 | 京东云技术团队

业务场景 二轮充电业务中&#xff0c;用户充电完成后在订单详情页展示订单相关信息&#xff0c;用户点击分享按钮唤起微信小程序分享菜单&#xff0c;将生成的图片海报分享给微信好友或者下载到本地&#xff0c;好友可通过扫描海报中的二维码加群领取优惠。 使用场景及功能&a…

网站在腾讯云备案的要求条件说明

腾讯云网站备案要求首先你有一个需要备案的域名&#xff0c;域名实名认证信息和备案主体相同&#xff1b;在腾讯云有一台符合备案条件的云服务器、轻量应用服务器等云产品&#xff1b;然后根据备案主体所在省份地区&#xff0c;符合当地的通信管理局要求。下面腾讯云百科来详细…

相见恨晚的Matlab编程小技巧(4)-程序运行太慢了咋解决——合理使用循环语句(2)

上一篇博客介绍了通过向量化运算、预分配空间两种常用的方式提高代码的运行效率。实际上&#xff0c;matlab还有几种内置函数来避免循环语句的使用&#xff0c;分别为arrayfun、cellfun以及structfun函数。由于这几种函数需要用到匿名函数以及函数句柄的概念&#xff0c;很多人…

厚积薄发|迭代为什么叫冲刺?

上士闻道&#xff0c;勤而行之&#xff1b;中士闻道&#xff0c;若存若亡&#xff1b;下士闻道&#xff0c;大笑之。不笑不足以为道。–《道德经》 软件工程从原始的作坊式工作方式&#xff0c;经过了哪些思考、哪些方案的试探&#xff0c;才在不断地尝试与改善后&#xff0c;走…

E. Border(裴蜀定理)

Problem - E - Codeforces 太空人纳塔莎抵达了火星。她知道火星人非常贫穷。为了保障火星公民更好的生活&#xff0c;他们的皇帝决定向每个游客征收税费。纳塔莎是地球的居民&#xff0c;因此她必须支付进入火星领土所需的税费。 火星上有n种纸币面额&#xff1a;第i种纸币的面…

TTL、 RS-232,RS-485的区别

TTL、 RS-232&#xff0c;RS-485的区别 参考:【gt】TTL&#xff0c; RS-232&#xff0c;RS-485的区别 前言&#xff1a;串口、UART口、COM口、USB口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。 TTL &#xff1a;全双工 &#xff0c;逻辑0对应…

深度学习实战30-AIGC项目:自动生成思维导图文件,解放双手

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习实战30-AIGC项目&#xff1a;自动生成思维导图文件&#xff0c;解放双手&#xff0c;思维导图是一种常见的工具&#xff0c;用于将复杂的信息和概念以图形化方式展示出来。AIGC项目旨在将这种思维导图的创建…

GNU C 语言的常用扩展

本文摘自《奔跑吧 Linux 内核&#xff08;第二版&#xff09;》2.2 Linux 内核中常用的 C 语言技巧 读到这本书的这一小节时&#xff0c;感觉其中不少技巧在项目中有遇到过&#xff0c;有必要做个笔记&#xff0c;方便以后查阅。 文章目录 前言1.语句表达式2.变长数组3. case 的…

Linux内核(十五)sysrq 详解 II —— 代码框架详解

文章目录 sysrq模块初始化流程图sysrq模块代码详解sysrq产生kernel crash事件流程sysrq 整体框架图sysrq 框架中添加自定义实例 Linux 版本&#xff1a;Linux version 3.18.24 sysrq模块初始化流程图 sysrq模块源码路径&#xff1a;linux-3.18.24.x/drivers/tty/sysrq.c 编译…

Unity3D :Animator Controller

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 Animator Controller Animator Controller 允许您为角色或对象安排和维护一组动画剪辑以及关联的动画过渡。在大多数情况下&#xff0c;拥有多个动画并在满足某些游戏条件时在这些…

就业内推 | 国企专场,HCIE、CCIE认证优先,最高20k*15薪

01 银河互联网电视有限公司 &#x1f537;招聘岗位&#xff1a;网络运维工程师 &#x1f537;职责描述&#xff1a; 1、负责IDC网络方向的运维服务&#xff1b; 2、负责日常紧急变更&#xff0c;撰写上线变更方案等文档工作&#xff1b; 3、负责应急问题处理、控制变更风险&am…

CAN周期波动优化方法

摘要&#xff1a; 如果遇到报文周期偏大的问题该从何下手&#xff0c;或者说有哪些解决办法呢&#xff1f; 对于车载控制器来说&#xff0c;CAN周期的波动通常是有严格的标准&#xff0c;国标要求如下&#xff0c;基于国标&#xff0c;各个主机厂在这一块稍微有些差异&#xf…

遇到系统无法访问此文件问题怎么办?

昨天我整理了一下自己喜欢的照片&#xff0c;然后将其分门别类地归纳起来&#xff0c;然后将其复制到了另一个硬盘做了一下简单的备份。后面又想到了之前在某篇文章中貌似提到过什么异地备份的说法&#xff0c;一想到自己的OneDrive中还有点空间&#xff0c;所以就想把它们存到…

记一次docker迁移目录后oracle11g启动报错问题

迁移docker目录后启动oracle报错&#xff1a; 容器启动失败&#xff0c;无法查看日志&#xff0c;分析是文件目录权限问题&#xff0c;迁移后的目录是/home/docker&#xff0c;因此执行chmod -R 777 /home/docker ,给迁移后目录全局权限。 然后启动容器&#xff0c;发现可以启…

基层管理岗和技术岗如何抉择?

基层管理岗和技术岗如何抉择&#xff1f; 体制内&#xff0c;现为技术研发岗&#xff0c;33岁&#xff0c;本想沿着现在的技术序列走&#xff0c;到时间再申请专家&#xff0c;但近期发现专家没有调配资源的能力&#xff0c;没有办法组建团队。现纠结是否争取管理路线。 技术…