版本控制软件 GIT 的使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 版本控制软件 GIT 的使用

版本控制软件 GIT 的使用

git 下载


git 配置

  • 配置电子邮件
git config --global user.email "l119520@ooutlook.com"

配置用户名

git config --global user.name "gaolengjun"

配置编辑器

git config --global core.editor vim

配置合并工具

git config --global merge.tool vimdiff

查看配置

git config --list


查询帮助

  • 语法:git help 命令
git help add

该命令自动打开该参数浏览器详情页面


创建仓库

  • 初始化
git init
  • 在当前操作文件夹里生成 **.git** 文件夹
  • 查看仓库状态
git status
  • 添加文件到索引区
    在仓库目录里直接创建文件,git 无法感知,需要执行下面命令让 git 追踪添加的文件,可以使用 git status 查看状态
    第二个使用。的命令,可以将该目录下所有文件添加到索引区
git add test.txt
git add .
  • 提交
git commit -m "add test.txt"
  • 引号中建议写上提交理由,知道你干了什么。提交文件后再使用 git status 查看状态就什么都没有了查看提交日志
  • 完整日志
    该命令查看已提交的文件,包括作者姓名、邮箱和提交日期
git log
  • 查看近期几条记录
git log -2
  • 一行显示
git log --oneline
  • 详细显示
    该参数可以查看更新了那些内容
git log -p
  • 删除和更名
  • 本地删除文件仍然要执行该命令让 git 感知该文件已被删除
git rm read.md
  • 从索引区删除文件
git rm --cached style.css
  • 修改文件名
git mv test.txt test.md
  • 更新后提交
    已经 commit 文件,再次增删代码后使用 git status 会红色提示 modified: index.html,表示该文件已发生更新,此刻需要重新 git add index.html 添加到索引区,使用 git status 会绿色提示 modified: index.html,再次 git commit -m “add code” 提交

撤销操作

  • 撤销更改
    当更改文件后,尚未添加索引区,可以使用 git 命令恢复

git restore index.html
git checkout -- index.html
  • 从索引区恢复
    执行以下命令从索引区退出后,再执行上面命令恢复
    比较内容
git restore --staged index.html
git reset HEAD index.html
  • 未添加索引区前比较内容
    不同的内容将以绿色标识出来
git diff
  • 添加到索引区比较内容
    git 忽略管理
git diff --cached

设置 git 忽略的文件,这些文件不参与 git 库的管理和提交

  1. 在 git 管理目录下新建一个.gitignore 文件,注意,这不是后缀,就是这个文件名
  2. 打开.gitignore 文件,输入 *.tem 保存,意思是凡是后缀为.tem 的文件会被 git 忽略管理,然后 git status 就看不到该文件了

不管被忽略的文件在任何层级目录下,git 都会忽略管理

更新最后的提交

提交后发现有问题,不想修改后重复提交,在已提交的基础上更新内容

  1. 修改文件后,git status 查看状态
  2. git add . 添加索引区
  3. 使用 git commit –amend 命令提交,不会重新生成记录,可以 git log -2 查看日志

返回过去

  • 更新了文件尚未添加索引区,但需要返回未修改前版本
git reset --hard HEAD
  • 返回上次提交版本
git reset --hard HEAD~
  • 返回指定版本
    这里的数字是指定返回上两次前的版本
git reset --hard HEAD~2
  • 根据版本 ID 返回指定版本
    使用 git log 命令查看日志,可以看到版本 id,特别颜色高亮显示;使用 git log –oneline -4 命令简单显示日志,id 是简写的。使用该版本 id 可以硬性回滚版本
git reset --hard b6fb43b
  • 查询版本 ID
    如上操作可以根据版本 id 回滚版本,如果一不小心清屏了或者忘记版本 id,就可以使用如下命令查询版本 id 再恢复该版本
    使用分支
git reflog -3

在之前的操作都是在主分支(master) 上,在实际开发中都是使用开发分支,开发分支相当于主分支的副本,每个人负责自己的模块,不同分支之间互不影响,确认无误后最终合并到主分支

  • 新建分支
git branch dev
  • 查看所有分支
    带星号的是当前所操作的分支
git branch
* master
  • 切换分支
    第二条命令是创建分支同时切换到该分支
    合并分支
git checkout dev
git checkout -b dev

修改并提交开发分支后,确认无误后,需要合并到主分支

  • 确保切换到主分支(master),使用以下命令合并分支
git merge dev
  • 合并分支后,删除无用的开发分支
    解决分支合并冲突
git branch -d dev

当团队中多人编辑同一文件的时候,难免出现源代码的编辑合并冲突问题

使用 VS code 会自带分支冲突菜单命令,设置以哪个分支为准进行合并以及比较内容。其次,解决分支合并冲突的问题就是手动修改代码

使用 TAG 标签

使用 tag 标签给应用程序贴上版本号

  • 新建 tag 标签
git tag V1.0.0
  • 查看所有 tag 标签
git tag
  • 查看版本详情
    通过该命令可以查看这个版本的变动
    使用别名
git show V1.0.1

在 git 中可以给经常使用的命令取别名,以别名缩写的方式简化使用

git status 取别名,语法:git config –global alias.st status

其它 git 命令同样设置

git config --global alias.co checkout
git co
git config --global alias.br branch
git br
git config --global alias.cm commit
git cm

使用 git config -l 查看 git 全局设置,包括自定义的别名

克隆远程仓库和推送

  1. 克隆远程仓库
    命令格式:git clone url
git clone https://gitee.com/komavideo/LearnOSC.git
  1. 查看所有分支,包括远程分支
git branch -a
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
  1. 远程分支迁移到本地
    使用如上命令会红色显示远程分支,加入下方命令中迁移到本地

git branch dev remotes/orgin/dev
  1. 切换到开发分支,修改内容

git checkout dev
  1. 提交前,先使用如下命令查看远程服务器设置
    origin 是远程服务器 url 的缩写,两者是一样的。fetch 表示使用该命令获取仓库,使用 push 推送到远程仓库

git remote -v
origin  https://gitee.com/komavideo/LearnOSC.git (fetch)
origin  https://gitee.com/komavideo/LearnOSC.git (push)
  1. 推送到远程仓库

git push origin dev
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
敏捷开发 存储 开发工具
版本控制系统的选择:Git与SVN的比较
【8月更文挑战第14天】Git和SVN都是优秀的版本控制系统,它们各自具有独特的优势和适用场景。在选择版本控制系统时,需要根据具体的项目需求、团队特点和开发模式来综合考量。对于需要分布式团队协作、高效处理大型项目或采用敏捷开发模式的团队来说,Git是一个更好的选择。而对于传统团队、集中式开发或简单项目来说,SVN可能更加合适。无论选择哪种版本控制系统,都应该充分利用其提供的工具和功能来提高代码质量和开发效率。
|
2月前
|
存储 Linux 开发工具
掌握版本控制的艺术:Git 技巧深度解析
在软件开发中,版本控制对于代码管理和团队协作至关重要。Git 作为最流行的分布式版本控制系统,凭借其强大的功能和灵活性成为开发者必备工具。本文深入探讨 Git 的高级技巧和最佳实践,包括交互式暂存、撤销提交、合并冲突处理等,帮助你更高效地使用 Git。通过遵循清晰的提交信息、保持提交原子性、利用分支开发等最佳实践,开发者可以更好地管理代码库,提升协作效率。
|
2月前
|
安全 开发工具 git
git合并错了,我想回退到之前的版本
git合并错了,我想回退到之前的版本
|
5月前
|
开发工具 数据中心 git
详解IDEA git 版本回滚
详解IDEA git 版本回滚
226 0
|
6月前
|
项目管理 开发工具 git
版本控制与源代码管理:在 Visual Basic 项目中使用 Git
【4月更文挑战第27天】本文介绍了在Visual Basic项目中使用Git进行版本控制和源代码管理的重要性。Git作为一个流行的分布式版本控制系统,具备分布式架构、高效性能和强大分支管理等特点。在项目中,需先安装Git,然后初始化仓库、添加文件和提交更改。常用操作包括查看状态、日志、创建及切换分支和合并分支。团队协作时,借助远程仓库和推送拉取命令实现代码共享。虽然Git有学习曲线,但其优势在于强大的功能、灵活性和社区支持,能提升开发效率和代码质量。通过学习和实践,开发者可充分利用Git优化协作和项目管理。
74 1
|
2月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
6月前
|
程序员 Linux 开发工具
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
|
2月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
180 1
|
3月前
|
项目管理 开发工具 git
|
4月前
|
开发工具 git
unable to index file ‘~$git提交版本号.xlsx‘
unable to index file ‘~$git提交版本号.xlsx‘