位置: IT常识 - 正文

【Git】全面详细了解开发者必备工具Git(2.0)(git简明教程)

编辑:rootadmin
【Git】全面详细了解开发者必备工具Git(2.0)

推荐整理分享【Git】全面详细了解开发者必备工具Git(2.0)(git简明教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:git详解,git完整教程,git完整流程,git 简介,git简明教程,git完整教程,git documentation,git简明教程,内容如对您有帮助,希望把文章链接给更多的朋友!

✍️ 作者简介: 前端新手学习中。

💂 作者主页: 作者主页查看更多前端教学

🎓 专栏分享:css重难点教学   Node.js教学 从头开始学习   ajax学习

文章目录学习目标起步——关于版本的控制  文件的版本  版本控制软件  使用版本控制软件的好处  版本控制系统的分类  本地版本控制系统  集中化的版本控制系统  分布式的版本控制系统Git基础概念 什么是Git Git的特性 SVN的差异比较 Git的记录快照 近乎所有的操作都是本地执行 Git中的三个区域 基本的Git工作流程安装并配置Git 下载 配置用户信息 通过命令快速检查用户配置信息Git的操作与使用 获取帮助信息 获取Git仓库的两种方式 在现有目录中初始化仓库 工作区中文件的四种状态 检查文件的状态 跟踪新文件 显示文件 提交更新 对已提交的文件进行修改 暂存和提交已修改的文件 撤销对文件的修改 向暂存区中一次性添加多个文件  取消暂存的文件  跳过使用暂存区域  移除文件  忽略文件  查看提交历史 vim  回退到指定的版本  远程仓库操作  小结分支  创建查看切换分支  合并分支  删除分支  分支合并冲突问题团队协作 团队协作的分支管理 跨团队协作学习目标能够掌握Git基本命令的使用能够使用Github创建和维护远程仓库能够掌握Git分支的基本使用起步——关于版本的控制  文件的版本

  版本控制软件

  使用版本控制软件的好处

  版本控制系统的分类

  本地版本控制系统

  集中化的版本控制系统

  分布式的版本控制系统

Git基础概念 什么是Git

Git是一个开源的分布式版本控制系统,是目前世界上最先进,最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。 特点:项目越大越复杂,协同开发者越多,越能体现出Git的高性能和高可用性。

 Git的特性

Git之所以快速和高效,主要依赖于它的如下两个特效:

直接记录快照,而非差异比较。近乎所有操作都是本地执行 SVN的差异比较

传统的版本控制系统是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累计的差异。

 Git的记录快照

Git快照是在原有文件版本的基础上重新生成一份新文件,类似于备份,为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

 近乎所有的操作都是本地执行

 Git中的三个区域

使用Git管理的项目,拥有三个区域,分别是工作区,暂存区,Git仓库,这三个工作区还对应了三种状态,分别是已修改,已暂存,已提交。

 基本的Git工作流程

在工作区中修改文件。将你想要下次提交的更改进行暂存。提交更新,找到暂存区的文件,以快照形式永久存储。安装并配置Git 下载

下载地址 一直点下一步,安装就可以了。 安装成功

 配置用户信息

安装完Git之后,要做的第一件事就是设置自己的用户名和邮件地址,因为通过Git对项目进行版本管理的时候,Git需要使用这些基本信息,来记录是谁对项目进行了操作。

我们进行全局配置用户名和邮箱,(配置一次就好,用户名邮箱自定义即可不用跟什么一样,只是提交版本的时候展示的相关信息而已)

通过 全局配置的用户名和邮箱地址,会被写入到C:/Users/用户名文件夹/.gitconfig文件中,这个文件是Git的全局配置文件,配置一次即可永久生效。 可以使用记事本打开此文件,来查看对Git进行了哪些全局操作。

 通过命令快速检查用户配置信息

除了使用记事本查看全局的配置信息外,还可以运行如下的终端命令,快速的查看Git的全局配置信息。

查看所有的全局配置项

git config --list --global

查看指定的全局配置项

git config user.namegit config user.email

Git的操作与使用 获取帮助信息

可以使用git help 命令,无需联网即可在浏览器中打开帮助手册,

例如: 查看config命令相关信息

【Git】全面详细了解开发者必备工具Git(2.0)(git简明教程)

会弹出浏览器 里面有详细的命令教学。 也可以 使用 git config -h 来在终端中弹出简介帮助。

 获取Git仓库的两种方式将尚未进行版本控制的本地目录转换为Git仓库从其他服务器克隆一个已存在的Git仓库

以上两种方式都能够在自己的电脑上得到一个可用的Git仓库。

 在现有目录中初始化仓库

如果自己有一个尚未进行版本控制的项目目录,想要用Git来控制它,需要执行如下两个步骤: 3. 在项目跟目录中,通过鼠标右键打开“Git Bash”。 4. 执行 git init命令将当前的目录转化为Git仓库, git init命令会创建一个名为.git的隐藏目录,这个.git目录就是当前项目的Git仓库,里面包含了初始的必要文件,这些文件是Git仓库的必要组成部分。

 工作区中文件的四种状态

工作区中的每一个文件可能有四种状态,这四种状态共分为两大类。

Git操作的最终结果:让工作区中的文件都处于“未修改”的状态。

 检查文件的状态可以使用git status命令查看文件处于什么状态。 查看指定文件状态git status 文件名查看所有文件状态git status 查看所有文件状态(方便显示)git status -s```![在这里插入图片描述](https://www.yuucn.com/wp-content/uploads/2023/04/1682047053-2e912812d9b1940.png)![在这里插入图片描述](https://www.yuucn.com/wp-content/uploads/2023/04/1682047059-2e912812d9b1940.png)untracked files 表示未被跟踪的文件,下面显示gehangbianhuan.html,表示此文件未被跟踪,意味着Git之前的快照提交中没有这个文件夹,Git不会自动纳入跟踪范围,除非明确地告诉它,我需要使用git跟踪管理该文件。**用简洁的方式检查文件状态**```sqlgit status -s

 跟踪新文件

使用命令git add开始跟踪一个文件,git add <文件名>,跟踪之后我们可以在使用git status命令来查看。 跟踪指定文件 跟踪之后自动添加到暂存区 修改文件后执行此命令放到暂存区 git add 文件名 //跟踪全部文件 git add. 提交所有被删除和修改的文件到数据暂存区 git add -u 等价于 git add –update 提交所有被删除、被替换、被修改和新增的文件到数据暂存区 git add -A 等价于 git add –all

表示文件已经暂存。

 显示文件显示文件ls显示所有文件 包括隐藏ls -a查看文件内容cat 文件名 提交更新

现在暂存区中有一个gehangbianhuan.html文件等待被提交到Git仓库中进行保存。可移植性git commit命令进行提交,其中-m选项后面是本次的提交消息,用来对提交的内容做进一步的描述。

使用git status命令再次查看文件状态 显示没有任何的修改,没有任何文件需要提交。

 对已提交的文件进行修改

目前,gehangbianhuan.html文件已经被Git跟踪,并且工作区Git仓库中的gehangbianhuan.html文件内容保持一致,修改了工作区中gehangbianhuan.html的内容之后,再次运行git status命令,会看到如下内容。

文件被跟踪了,跟踪了然后咱们修改了文件,所以提示修改了但是没有暂存。

 暂存和提交已修改的文件

目前,工作区中的gehangbianhuan文件已经被修改,如果要暂存这次数据,我们还得需要git add这个命令,这个命令其实是多功能命令,主要有以下三个功能。

可以用他来跟踪文件,跟踪文件后会暂存当前内容。跟踪文件修改之后,我们可以再次使用这个命令进行暂存。把有冲突的文件标记为已解决文件。

我们这里就是用的第二个功能。 使用git commit 再次提交文件

 撤销对文件的修改

撤销对文件的修改指的是:把对工作区中对应文件的修改,还原成Git仓库中之前保存的版本。 撤销对文件的修改 (没有提交到暂存区) git checkout – 文件名 操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!

我们先对文件进行修改,修改保存后,撤销掉之前的修改,类似于撤回,它会选择git中提交的最新版本,覆盖工作区中的修改。

 向暂存区中一次性添加多个文件

如果需要被暂存的文件个数比较多,可以使用如下的命令,一次性将所有的新增和修改过的文件加入暂存区。 命令:git add .(点),使用此命令可以将当前文件内的所有文件添加到暂存区,这个命令很常用。

新建了三个文件,并没有跟踪放到暂存区。 我们全部跟踪并放到暂存区。

  取消暂存的文件

如果需要从暂存区中移除对应的文件,可以使用如下的命令: git reset <文件名>。如果取消所有文件,同样是用.(点)。 取消暂存的文件 git reset <文件名> 取消所有暂存的文件 git reset . 将文件从暂存区移除,同时取消跟踪 git rm --cached 文件名

  跳过使用暂存区域

Git标准的工作流程是工作区→暂存区→Git仓库,但有时候这么做略显繁琐,此时可以跳过暂存区,工作区中的修改提交到Git仓库,这时候Git工作的流程简化为了工作区→Git仓库。 Git提供了一个跳过使用暂存区域的方式,只要在提交的时候,给git commit加上-a选项,Git就会自动把所有已经跟踪过的文件暂存起来一并提交,修改的文件从而跳过git add步骤。

  移除文件

从Git仓库中移除文件的方式有两种

从Git仓库和工作区中同时移除对应的文件 git rm -f index.js 只从Git仓库中移除指定的文件,但保留工作区中对应的文件 git rm --cached index.js

解析:两个绿色的D表示被打上了删除标记,当下一次提交的时候就会从仓库中删除,js文件执行命令后工作区中的js文件被删除,仓库中的js被打上了删除标记,css执行命令后,css被打上了删除标记,工作区中的css没被删除而是显示了未跟踪状态,但我们使用提交命令(提交所有被跟踪过的文件)后,就将打上删除标记的两个文件从仓库中删除了,index.css没有被跟踪,所以提交命令没有做任何的提交操作。

3. 删除文件夹git rm -r 文件夹名 --cached

都需要进行一次新的提交才会进行删除仓库文件 第一次会删除工作区中的文件 然后给要删除的仓库文件打上删除记号

  忽略文件

一般我们总会有些文件无需纳入Git的管理,也不希望它们总出现在未跟踪文件列表。在这种情况下,我们可以创建一个名为.gitignore的配置文件,列入要忽略的文件的匹配模式。

文件 .gitignore的格式规范如下:

以#开头的是注释以/结尾的是目录以/开头防止递归以!开头表示取反可以使用glob模式进行文件和文件夹的匹配(glob指简化了的正则表达式)

详情请看:正则表达式详情 注意:命名文件的时候不能有文件名只能有后缀名 新建了个test 我们查看文件状态 发现没有 说明忽略成功了

  查看提交历史

如果希望回顾项目的提交历史,可以使用git log这个简单且有效的命令, 查看本地仓库提交历史 只能显示到当前主分支 git log 查看本地仓库的代码操作历史 git reflog

按q即可退出查看。

 vim提交没写上相关信息,vim系统 误入摁i键切换成插入模式 可以进行书写 退出的话 摁esc 然后冒号 wq退出  回退到指定的版本

这个回退是回退到工作区回退到上一次的提交版本git reset --hard HEAD^回退到前两次的提交版本git reset --hard HEAD^^git reset --hard HEAD~2回退版本之后本地代码也会相应进行回退,如果想要退回去 我们可以通过 git reflog查看之前的版本号然后再使用 git reset --hard 版本号 下面这个回退是回退到暂存区 比如说你提交信息写错了想重新写可以进行回退 重新提交写好提交信息 本地文件不会改变,回退到提交到暂存区时的状态git reset --soft HEDA//下面这个回退 是撤销 版本 同时会生成一个新的版本比如 git reyert HEAD 撤销当前版本 那么本地内容就会回退到上个版本 同时当前版本还会存在 并且还会生成一个新的版本 需要你在vim中填写版本信息 也可以在HEAD后面书写 意思就是说 假如你的当前版本是2 撤销当前版本 会让你的本地文件内容回退到版本1 同时会生成一个版本3 版本一和版本3的内容是相同的 ,版本2不会消失。撤销当前版本 就相当于把上一个版本重新发布了一次git reyert HEAD 版本号(前六个字)  远程仓库操作添加远程仓库git remote add origin(别名) 仓库地址查看远程仓库git remote -v复制远程仓库代码git clone 仓库网址删除创建的别名git remote remove origin别名将本地仓库 上传到 远程仓库git push origin(别名) master:master(将本地主分支master上传到远程主分支master,可以直接简写成master(类似对象属性的简写)) 加上-f 为强制提交 慎用 我们还可以 git push -u origin(别名) master 将 -u 后面两个变量变成了默认值,以后可以直接git push 默认就是 -u设置的内容

注册 注册一个github或gitee,gitcode等任意账号,操作流程页面UI几乎都是没区别的,注册完之后创建一个仓库。这里就不演示了。 拉代码和复制的区别 git clone和git pull的主要区别在于它们的目的。如果你想要完整地复制一个存储库到本地计算机,则应该使用git clone。如果你只想要获取最新的更新,则应该使用git pull。

  小结初始化Git仓库的命令git init添加到暂存区git add .查看文件状态的命令git statusgit status -s一次性将文件加入暂存区的命令git add将暂存区的文件提交到Git仓库的命令git commit -m “”提交信息“”分支  创建查看切换分支查看本地分支 git branch查看所有分支git branch -a 常看所有远程分支 git branch -r 创建分支 创建后当前分支不会改变 不会切换到新分支 加上-b会切换到新分支 中括号是可选 创建一个新分支会将当前分支的内容复制一份儿 , 后续的修改两个分支互不影响 git branch【-b】 分支名切换分支 每次切换分支之前记得先提交到仓库 不要忘了 git checkout 分支名  合并分支a如果要把b的内容合并过来 那么久切换到a分支 使用git merge 分支bgit merge 合并到的分支名   删除分支合并分支后 内容一样 可以删除一个分支git branch -d 分支名删除远程分支git push origin --delete 分支名  分支合并冲突问题不同分支修改了同一文件的同一行代码才会产生冲突,但是还有其他原因:不同分支修改的是同一文件的相邻行。这也会产生冲突。总之同一个文件 尽量不要再不同分支中同时修改。当你在两个分支中修改相同文件的话,就会遇到冲突问题,不知道应该采取谁的内容,需要手动解决。首先 a b分支都对相同文件的内容进行了的修改 然后我我们执行git merge 分支b 将b分支合并到a分支 就会产生冲突 就会是一个冲突状态 需要我们打开文件夹 进行手动选择 这时候的冲突文件会有两边双方的内容 需要将不需要的内容删除保留下想要的内容。 然后再次提交add,上传commit即可。a 分支就是筛选后的内容 b分支还是原来的内容团队协作

a和b两个合作开发人员 都从gitee上面复制了一个项目, b先完成了自己添加的部分 然后上传了 上去,上传成功了,等a完成了自己添加的部分上传的时候 上传失败了,因为现在的远程仓库之前被更新了,和你当时使用的内容不一样,所以我们需要养成一个习惯 在push之前先pull更新一下,再次提交就好了,如果pull的时候遇到代码冲突,就再手动解决一下就好。

 团队协作的分支管理

上传本地其他分支到远程仓库中 需要切换到当前分支 git push origin 分支名:分支名(如果名称相同可简写成 分支名)

克隆只能克隆主分支 我们可以pull将远程仓库其他分支拉去到本地仓库 git pull origin 分支名:分支名(如果名称相同可简写成 分支名) 拉去完远程仓库分支之后 我们可以直接切换 git checkout 分支 他就会根据远程仓库的分支弄到本地仓库

删除远程分支 git push origin --de lete 分支名 也可以上传到一个空分支就等同于删除 git push origin :分支名

 跨团队协作

在网页中先fork一个相同的项目, 然后进行本地的代码修改 并上传到远程,然后再将自己的修改pull requests 发送请求给原创作者

本文链接地址:https://www.jiuchutong.com/zhishi/298339.html 转载请保留说明!

上一篇:Vue中的数据操作(vue数据表)

下一篇:ubuntu18.04安装cuda和cudnn(Ubuntu18.04安装cuda10.2)

  • 普通发票作废要收回吗
  • 快递收派服务增值税政策
  • 稳岗补贴属于不征税收入吗
  • 金税四期什么时候全国运行
  • 一般纳税人劳务派遣
  • 专票没有抵扣联可以作废吗
  • 固定资产类型表
  • 本年利润期末一般有余额吗
  • 企业内部商品转移怎么核算
  • 超范围经营如何举报
  • 补交税金怎么做账
  • 转让名额协议
  • 社保可以在税前扣除吗
  • 普通发票商品名称错了一个字
  • 如何查询以前申诉进度
  • 招标需要交保证金吗
  • 一般纳税人出租其2016年4月30日前取得的不动产
  • php封装api
  • 检验费用会计分录
  • 计提劳务派遣人员社保收到发票后没有付款的会计分录
  • 将自产的应税消费品对外捐赠
  • 外币债券汇兑损益怎么算
  • DWHeartbeatMonitor.exe进程是什么意思 DWHeartbeatMonitor是安全的进程吗
  • php log函数
  • form表单提交数组
  • 应纳所得税额税率表
  • 房产税是什么意思,简单的回答
  • 员工保险个人部分交多少
  • php输出隔行变色的表格
  • win11装双系统虚拟机mac
  • 精灵图的使用
  • 证券公司代理发行
  • 没有购销合同的原因有哪些
  • 税费退库怎么做账
  • 销售部门发生的商品维修费
  • 购买办公用品没有发票可以入账吗
  • sql server附加数据库出错
  • 计提工资 个人所得税
  • 开专用发票可以直接写加工费这个明细吗?
  • mysql触发器菜鸟教程
  • 购买财务软件报税流程
  • 预交的城建税及附加税
  • 广告费的税费分录
  • 增值税普通发票查询真伪
  • 销项100万进项80万交多少税
  • 汽车租赁入什么费用
  • 房屋租赁费可以抵扣吗
  • 企业利润分为四个方面
  • java下一页
  • windows预体验版本遇到问题
  • linux系统常用命令怎么记住
  • Linux Mint Cinnamon中安装MATE桌面详细步骤
  • linux安装sshd服务
  • win7取消还原
  • 彻底删除怎样恢复
  • glrotatef函数
  • jquery有什么功能
  • nodejs不再维护
  • 批处理语言 从入门到精通
  • 批处理命令教程 pdf
  • python 邻接表
  • js绑定onchange
  • javascript随机生成数字
  • js复制对象的方法有哪几种
  • Android 自定义view炫酷动画
  • Android开发工具
  • unity3d物理现象模拟
  • unity-3d
  • python 两个列表一一对应
  • psi python
  • 获取android_id
  • 增值税开票系统如何添加开票人
  • 地税局公务员考试科目
  • 扬州税务学院官网朱诗柱
  • 广西地方税务局2018年1号公告
  • 改税务报表会有限风险吗
  • 飞机票其他税费包括什么内容
  • 昌吉市税务大厅
  • 九江五室新楼盘
  • 证券行业的税务问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设