以下讨论基于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}

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

版本控制工具之Git使用文档相关推荐

  1. 分布式版本控制工具:git与Mercurial(zz)

    分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf  2007-12-26 内容导航: 第1页 [IT168 技术文档]    说到版本控制工具,很多人可能 ...

  2. python docx 合并文档 图片_MBT文档模型化生成工具——30倍效率文档撰写工程化方法...

    MBT(A model based document builder)文档模型化生成工具用户手册--30倍效率文档撰写工程化方法 1 简介 在软件工程领域,工程文档通常主要包括实施方案.需求分析.软件 ...

  3. Python 开发工具集:关于文档、测试、调试、程序的优化和分析

    Python 开发工具集:关于文档.测试.调试.程序的优化和分析 原文    http://segmentfault.com/a/1190000000410521 Python已经演化出了一个广泛的生 ...

  4. 使用中文分词工具切分ArcGIS在线文档

    下面使用中文分词工具切分ArcGIS在线帮助文档:以减轻阅读难度:看下有无效果:此为我发明的阅读方法: ArcGIS是个非常庞大的系统,希望可以减轻阅读强度: 下面是6篇文档的切分结果截图:原文链接和 ...

  5. 非零基础自学Golang 第15章 Go命令行工具 15.4 注释文档(doc)

    非零基础自学Golang 文章目录 非零基础自学Golang 第15章 Go命令行工具 15.4 注释文档(doc) 第15章 Go命令行工具 15.4 注释文档(doc) Go语言文档工具go do ...

  6. ArcGIS arcpy代码工具——数据驱动工具批量导出MXD文档并同步导出图片

    ArcGIS arcpy代码工具--数据驱动工具批量导出MXD文档并同步导出图片 功能说明: 1 准备工作 设置数据驱动页面 页面范围设置 保存MXD文档 2 代码分段 (1)设定基础数据 (2)调用 ...

  7. 【学习笔记】git 使用文档

    安装 git # mac 环境 brew install git 检查是否安装成功 ➜ ~ git --version git version 2.20.1 (Apple Git-117) 卸载 gi ...

  8. php编写文件管理工具,php之markdown文档管理工具的实现代码

    本文主要和大家分享php之markdown文档管理工具的实现代码,希望能帮助到大家. 主要目标: 1.可以多人编辑 2.可以在浏览器中查看 3.有一个可以折叠的目录 4.支持多级目录 5.支持mark ...

  9. 【工具】更新云文档办公利器汇总,腾讯新增批量上传多文件上传,云文档对比测试报告...

    昨天腾讯文档增加了新功能:一键批量文件导入,即一次操作将多个文件导入到腾讯文档.简单测试了一下,非常好用.腾讯文档要往云存储方向发展?小伙伴们又多了一个云备份地方,好评! 上次的大文件上传测试 在论坛 ...

最新文章

  1. 13 Java程序员面试宝典视频课程之容器
  2. SLF4J: Failed to load class org.slf4j.impl.StaticLoggerBinder.
  3. windows免输密码登录
  4. 运行时异常与一般异常区别
  5. springboot单元测试通过MockMvc类调用controller接口
  6. AI:一个20年程序猿的学习资料大全—结构分析软件/办公软件/电气制造控制/高级语言编程/平面三维设计/视频编辑/FQ格式转换软件——只有你不想要的,没有你找不到的
  7. [概述] SAP增强基本含义及分类
  8. 【数据结构与算法】之深入解析“柱状图中最大的矩形”的求解思路与算法示例
  9. 有了它,快速学会RStudio应用
  10. Oracle——distinct的用法
  11. [ATL/WTL]_[Gdiplus]_[关于混用GDI和GDI+(GDIPlus)导致显示不正常的解决方案]
  12. failed to create the npcap service 0x8007007e
  13. 在线超级外链发布工具
  14. 代码质量分析利器之SonarQube【史上最全】
  15. html外链自动加nofollow,WordPress文章/页面外链自动添加nofollow属性的方法
  16. 读周爱民《javascript语言精髓与编程实践》有感
  17. 变量: 赋值 的几种方法
  18. 你关心的2023年PMP的考试时间和地点在这里
  19. (转载)BOX2D V2.3.0 用户手册中文版(第8章)-关节
  20. mybatis从入门到精通(刘增辉著)-读书笔记第一章

热门文章

  1. 阿里云服务器端口不通的解决办法
  2. STC8H1K08 - IDLE - 空闲模式
  3. X64dbg没有uac权限不能拖放打开文件的解决办法!
  4. 【UE4笔记】蓝图升降电梯
  5. api平台支持的格式
  6. 小米盒子root及sshdroid安装
  7. 使用python画出五角星
  8. 转载:机器视觉中使用深度学习所面临的对抗攻击——Survey(下)
  9. SqlServer_select-多次sum查询结果合并;
  10. 冲压模具设计及制造概述,值得了解学习