【Linux】版本控制器Git

📅 发布时间:2026/7/3 18:23:39 👁️ 浏览次数:
【Linux】版本控制器Git
目录一、git 简史二、版本控制器三、Git 的命令行操作3.1 安装 git3.2 在 gitee 上创建项目3.2.1 注册gitee3.2.2 创建仓库3.2.3 克隆仓库3.3 提交文件3.3.1 git status3.3.2 git add3.3.3 git commit3.3.4 git push3.3.5 git log3.3.6 git pull3.3.7 .gitignore3.4 git配置免密码提交操作个人主页矢望个人专栏C、Linux、C语言、数据结构一、git 简史同生活中的许多伟大事物一样Git诞生于一个极富纷争大举创新的年代。Linux内核开源项目有着为数众多的参与者。 绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事务上1991−2002年间。 到2002年整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。到了2005年开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束他们收回了Linux内核社区免费使用BitKeeper的权力主要是BitKeeper商业公司免费提供给Linux内核开源社区使用但社区里的大神尝试破解被发现了。 这就迫使Linux开源社区特别是Linux的缔造者LinusTorvalds基于使用BitKeeper时的经验教训开发出了自己的版本系统也就是Git一经开发就马上开源了。自诞生于2005年以来Git日臻成熟完善在高度易用的同时仍然保留着初期设定的目标。 它的速度飞快极其适合管理大项目有着令人难以置信的非线性分支管理系统自此Git几乎一统江湖。二、版本控制器为了能够更方便我们管理这些不同版本的文件便有了版本控制器。所谓的版本控制器就是能让你了解到一个文件的历史以及它的发展过程的系统。通俗的讲就是一个可以记录工程的每一次改动和版本迭代的一个管理系统同时也方便多人协同作业。目前最主流的版本控制器就是Git。Git可以控制电脑上所有格式的文件例如doc、excel、dwg、dgn、rvt等等。对于开发人员来说Git最重要的就是可以帮助我们管理软件开发项目中的源代码文件。Git进行版本控制的时候是通过记录变化来进行版本控制的。Git是一个版本控制器的软件其中日常最常听到的GitHub和Gitee是基于Git的网站国外的网站叫做前者国内叫做后者。Git是一个去中心化的版本控制器但以中心化为主。三、Git 的命令行操作3.1 安装 git安装指令sudo yum install-y git sudo apt install-y git判断是否安装完成git --version出现版本号则证明已安装。3.2 在 gitee 上创建项目3.2.1 注册gitee链接gitee 官网点击即可注册登录。3.2.2 创建仓库注册完成登录后在你的右上角有一个加号这里可以新建仓库。创建完成后会呈现出以下页面其中有一个叫.gitignore的文件在git上传时只要是文件后缀出现在.gitignore中的都不会进行上传。3.2.3 克隆仓库当你第一次在Linux上进行提交时你首先需要确保你的身份被Gitee识别此时就需要执行下面的两条命令首先执行的两条命令将远程的仓库克隆到本地区分一个目录是工作区还是普通目录就看目录里面有没有.git所以这个隐藏文件不能乱删。.git中有一个objects里面存储的这就是仓库存储的一次次的修改记录。3.3 提交文件现在创建一份文件。3.3.1 git statusgit status是一个Git命令用于显示工作目录和暂存区的当前状态。它可以告诉你哪些文件被修改了哪些文件已暂存准备提交哪些文件未被跟踪当前所在的分支与远程仓库的同步状态等。上面图片显示我们的test.c文件是没有添加到本地仓库.git中的。3.3.2 git addgit add是一个Git命令用于将工作目录中的更改添加到暂存区可以使用git add [文件名]也可以git add .它是将所有的修改都添加到仓库中。执行git add .后再次查看此时显示我们的信文件已经添加到本地仓库了。3.3.3 git commitgit commit是一个Git命令用于将此次的更改永久保存到本地仓库中。git commit-m提交日志这里的提交日志记录的是你此次做了什么更改一定不能乱写提交日志是写给未来的自己和团队成员看的好的提交日志是专业开发者的基本素养。此时再次查看状态时它说你的工作区已经干净了但是现在你这次提交的文件还没有到远程仓库。此时已经做完本地仓库的操作了。3.3.4 git pushgit push是一个Git命令用于将本地仓库的提交上传到远程仓库。这是团队协作和代码共享的关键命令。这样你的代码就从本地仓库推送到远端了。远端仓库3.3.5 git loggit log可以查看提交历史。上图中标红的就是提交ID值每次commit都不重复。3.3.6 git pullgit pull是一个Git命令用于从远程仓库获取更新并合并到本地分支。现在Linux程序员和Windows程序员共同维护了一个仓库。此时Windows程序员创建并推送了hello.c文件。远端仓库此时我们的Linux程序员上线了他完成了一天的代码任务开始push。结果显示提交被拒绝了这是因为本地仓库和远端仓库不一致导致git push被拒绝此时应该git pull拉取同步之后再git push。git pull之后此时我就看到了之前另一个程序员提交的代码hello.c并且再次push就成功了。此时的远端仓库所以git pull是保持代码同步的核心命令确保获取团队的最新工作成果避免推送冲突维持代码库的一致性。本质是你想要提交你的代码必须先要把别人历史提交的代码同步到本地。3.3.7 .gitignore假设我不想上传本地仓库以.txt为后缀的文件我就可以添加到.gitignore中。创建一个以txt为后缀的文件再创建一个别的文件进行push测试。远端仓库可以看到以txt为后缀的文件并没有上传到远端而另一个文件上传了。所以.gitignore用于指定哪些文件或目录应该被Git忽略不纳入版本控制。避免提交不必要的文件。3.4 git配置免密码提交操作在你的Linux家目录~下创建文件.git-credentials并使用vim编辑它。具体操作流程1、进入家目录cd ~。2、创建文件touch .git-credentials。3、使用vim编辑文件并在文件中输入https://{username}:{password/你的私人令牌}gitee.com这里推荐使用你的私人令牌。注意上面输入的不用加大括号假设你的gitee名是123私人令牌是456那么在~/.git-credentials这样输入https://123:456gitee.com在你的gitee官网仓库中的克隆下载页面就可以配置你的私人令牌了。做完以上操作后在你的Linux终端输入git config--global credential.helper store此时打开~/.gitconfig文件会发现多了一项:[credential]helperstore如上你的免密功能有了现在需要设置提交功能这是提交代码时的身份标识。git config--global user.name你的名字git config--global user.email你的邮箱如下图和Gitee上提到的相同。现在再次打开你的~/.gitconfig文件你就会发现配置成功了出现了nameemail等信息。此时免密码提交就配置完成了。总结以上就是本期博客分享的全部内容啦如果觉得文章还不错的话可以三连支持一下你的支持就是我前进最大的动力技术的探索永无止境! 道阻且长行则将至后续我会给大家带来更多优质博客内容欢迎关注我的CSDN账号我们一同成长(▽)