首页IT科技git开发管理(【Git】全面详细了解开发者必备工具Git(2.0))

git开发管理(【Git】全面详细了解开发者必备工具Git(2.0))

时间2025-08-05 01:43:22分类IT科技浏览5141
导读:✍️ 作者简介: 前端新手学习中。...

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

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

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

学习目标

能够掌握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.name git config user.email

Git的操作与使用

 获取帮助信息

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

例如:

查看config命令相关信息

会弹出浏览器 里面有详细的命令教学              。

也可以 使用 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://cdn.yuucn.cn/wp-content/uploads/2023/04/1682047053-2e912812d9b1940.png)![在这里插入图片描述](https://cdn.yuucn.cn/wp-content/uploads/2023/04/1682047059-2e912812d9b1940.png) untracked files 表示未被跟踪的文件                     ,下面显示gehangbianhuan.html   ,表示此文件未被跟踪                ,意味着Git之前的快照提交中没有这个文件夹                      ,Git不会自动纳入跟踪范围      ,除非明确地告诉它            ,我需要使用git跟踪管理该文件                。 **用简洁的方式检查文件状态** ```sql git 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 status git 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 分支b git merge 合并到的分支名

  删除分支

合并分支后 内容一样 可以删除一个分支 git branch -d 分支名 删除远程分支 git push origin --delete 分支名

  分支合并冲突问题

不同分支修改了同一文件的同一行代码才会产生冲突                 ,但是还有其他原因:不同分支修改的是同一文件的相邻行    。这也会产生冲突                     。总之同一个文件 尽量不要再不同分支中同时修改                    。 当你在两个分支中修改相同文件的话,就会遇到冲突问题                    ,不知道应该采取谁的内容                     ,需要手动解决。 首先 a b分支都对相同文件的内容进行了的修改 然后我我们执行git merge 分支bb分支合并到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 发送请求给原创作者

声明:本站所有文章                 ,如无特殊说明或标注,均为本站原创发布              。任何个人或组织                    ,在未征得本站同意时                     ,禁止复制      、盗用            、采集                       、发布本站内容到任何网站         、书籍等各类媒体平台                      。如若本站内容侵犯了原著者的合法权益   ,可联系我们进行处理        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ubuntu好用的pdf阅读器(ubuntu下chm和PDF阅读器 « 小居)