人才网网站模板,南通网站开发,网站的制作流程,资讯主题 wordpress1.如何理解版本控制 →Gitgitee||github
多版本控制面对善变的甲方
版本控制是一种用于管理文件或代码变更的系统#xff0c;帮助团队或个人追踪项目的历史记录#xff0c;并支持多方协作开发。它在软件开发和文档管理中尤为重要#xff0c;但也适用于其他需要追…1.如何理解版本控制 →Gitgitee||github
多版本控制面对善变的甲方
版本控制是一种用于管理文件或代码变更的系统帮助团队或个人追踪项目的历史记录并支持多方协作开发。它在软件开发和文档管理中尤为重要但也适用于其他需要追踪更改的领域。版本控制系统Version Control SystemVCS能让你查看文件的历史版本合并多个贡献者的修改并在出现问题时恢复到早期版本。
git是一个客户端也是一个服务器
git是一个版本控制器
gitee||github是一个基于gitee的网站管理平台
2.Git的历史
Git是一个分布式版本控制系统由林纳斯·托瓦兹Linus Torvalds于2005年创建用于管理Linux内核的开发。它的历史充满了技术突破和社区协作的故事以下是Git的起源及其发展过程的简要概述 背景版本控制的需求
在Git诞生之前Linux内核开发团队使用的是一个名为BitKeeper的专有分布式版本控制系统DVCS。尽管BitKeeper在技术上表现优异但其闭源性质对自由软件社区来说始终存在争议。
事件导火索BitKeeper的授权问题 2005年BitKeeper的免费使用许可政策发生变化Linux内核开发团队不再能够免费使用这款工具。这一危机促使林纳斯·托瓦兹决定开发一个开源的替代品用于满足Linux内核开发的需求。 Git的诞生
林纳斯在几天内编写了Git的第一个版本并于2005年4月7日公布。他的目标是创建一个 快速的系统能够处理大规模的代码库。 简单的设计易于使用和维护。 分布式架构允许开发者在本地进行版本管理而无需依赖中心服务器。 强大的数据完整性确保版本控制中的每一项变更都可以被验证。
名称的由来
“Git” 是林纳斯对自己“幽默的”描述——在英国俚语中“git” 是一个贬义词意为“愚蠢的人”。林纳斯选择这个名字部分原因是他自嘲同时也因为名字短小且易记。 Git的早期发展 首次发布2005年4月7日 Git的第一个版本是一个极简的实现主要用作工具链的一部分目标是实现Linux内核的高效管理。 快速迭代 在随后的几个月内Git迅速完善加入了许多核心功能比如分支管理和合并机制。 社区贡献 尽管最初是为Linux内核开发设计的Git很快吸引了其他开源项目的兴趣成为主流的版本控制工具。 Git的核心特性
以下几个特性奠定了Git在版本控制领域的统治地位 分布式架构每个开发者都有完整的代码库副本支持离线开发。 强大的分支模型Git的分支操作快捷高效方便团队并行开发。 数据完整性所有数据都通过SHA-1哈希加密保存确保版本历史的安全性。 高效性能特别是在处理大规模代码库时表现突出。 Git的普及 GitHub的出现2008年 Git的流行离不开GitHub的贡献。2008年GitHub作为一个基于Git的代码托管平台上线提供了易于使用的图形界面和协作工具使Git更加友好。随着GitHub成为开源项目的集中地Git也被越来越多的开发者采用。 企业采用 随着Git的成熟越来越多的企业开始采用Git作为其主要的版本控制系统取代了传统的工具如SVNSubversion和CVS。 Git的现状和未来
到今天Git已成为版本控制系统的事实标准被用于从个人项目到大型企业软件开发的各种场景。其生态系统如GitHub、GitLab、Bitbucket也不断扩展为开发者提供了全面的协作工具。
持续改进 Git的开发仍然活跃不断添加新功能和优化性能以适应现代软件开发的需求。 重要的里程碑
时间事件2005年4月Git诞生用于替代BitKeeper。2005年6月Git 2.6发布首次实现了完整的分支和合并支持。2008年GitHub成立推动了Git在开源社区中的普及。2010年代Git成为主流版本控制系统被各大企业广泛采用。2020年代Git仍然是版本控制的领导者持续影响软件开发的最佳实践。 结语
Git的成功不仅仅是技术上的胜利更是开源文化和协作精神的体现。从解决一个具体的技术问题到如今统治全球软件开发领域Git的历史展示了如何通过开放和创新改变世界。
3.Git的操作
我们使用yum install git进行git工具间的安装操作
然后可以使用命令git version进行当前git版本的查看操作 我们第一次使用的时候系统会让我们输入username 和我们email 我们先进行gitee仓库的创建然后点击这个克隆/下载就行了 我们将这个链接进行复制的操作
就是相当于我们拿到了这个仓库的链接
我们现在这Linux中将我们的远端仓库拉取到我们的Linux终端里面
输入命令 git clone [https://gitee.com/caijiuuyk/c-learn.git](https://gitee.com/caijiuuyk/c-learn.git)将我们gitee中的仓库拉取到本地 然后我们就成功的将我们的远程仓库克隆到本地了 我们进入到这个克隆的仓库 可以看见我们的仓库里面的文件都被克隆下来了
我们可以发现我们的当前目录下存在一个.git文件这是一个目录这个被称为隐藏的本地仓库 .git里面包含的是我们所有的历史修改记录
git在提交的时候只会提交变化的部分
那么现在我们就能在当前的目录下进行代码的新增操作了 我们创建一个code.c的文件写下一段简单的代码保存并退出 所以我们当前文件夹下就多出了一个源文件了
但是我们的这个文件并没有被添加到.git仓库里面
我们使用命令git add code.c将我们的文件添加到.git仓库但是还是没有添加到本地仓库里面
我们仅仅只是将文件添加到我们的暂存区里面
我们现在创建一个code1.c的文件并且将我们的code.c的内容重定向操作到code1.c里面
[kkhcss-ecs-28de c-learn]$ touch code1.c
[kkhcss-ecs-28de c-learn]$ vim code1.c
[kkhcss-ecs-28de c-learn]$ cat code.c
#include stdio.h
int main()
{printf(新年快乐);return 0;
}
[kkhcss-ecs-28de c-learn]$ cat code.c code1.c
[kkhcss-ecs-28de c-learn]$ cat code1.c
#include stdio.h
int main()
{printf(新年快乐);return 0;
}
[kkhcss-ecs-28de c-learn]$ 我们再次将这个文件添加我们的暂存区
git add code1.c
这个暂存区可以进行多次的添加操作
这个时候我们.git内部就有一个git仓库了
那么现在我们能直接将我们前几次添加到暂存区的文件推送到我们的git仓库里面
那么有了这个暂存区我们可以在本地进行多次add然后一次进行提交的操作 我们可以使用git status查看当前我们的暂存区中的新添加的文件有哪些
[kkhcss-ecs-28de c-learn]$ git status
# On branch master
# Changes to be committed:
# (use git reset HEAD file... to unstage)
#
# new file: code.c
# new file: code1.c
#
[kkhcss-ecs-28de c-learn]$ 如果我们不想让这个文件提交的话我们可以使用git reset HEAD filename将这个文件在暂存区进行删除操作。将添加的文件移除操作
那么现在我们想一次性将这两个文件提交到我们的本地仓库里面
我们使用命令git commit -m 新增两个源文件
这里的-m就是我们的日志信息这个选项我们一定要进行添加的操作
-m后面的介绍一定要清楚
我们可以使用git log查看我们的提交的历史 但是我们现在需要将我们本地的仓库和远端的仓库进行同步的操作那么我们该怎么做呢
那么这里的第三步就是git push了提交/同步 我们需要记住我们的账号密码才能在Linux上面进行代码的提交操作
如果我们将本地的这个gitee的仓库删除了
我们想要查看我们历史提交的文件
我们直接再次将这个仓库克隆到本地就行了
因为我们的git的版本管理只进行管理源文件所以像obj、exe后缀的文件我们是不接收的
但是我们怎么将这些文件进行忽略呢
我们的git仓库里面存在一个隐藏文件gitignore
可以忽略掉非源文件 我们直接将obj类的文件添加到非上传的名单里面 我们添加两个.c文件
这里我们使用git status可以查看到系统检测到我们的的.gitignore文件是被修改了的
以及新增了一个test2.c文件
没有我们上面创建的obj文件说明已经被忽略了 我们按照正常流程进行推送到gitee的操作
我们只会将我们的修改的gitignore和我们新增的源文件进行上传
其他的文件是会被忽略的
gitignore里面保存的是我们需要忽略的特定后缀的文件列表
下面是我们在Linux进行源文件的上传提交操作 在Windows里面进行git的操作
我们确保我们的Windows里面装了gitee
安装的地址https://git-scm.com/downloads/win 我们直接在对应的命令行进行源代码文件的push就行了 我们如果在Windows版本下进行代码的更改操作的话我们在Linux再进行更改一次的话这个我们是否能再次进行更改操作呢 因为我们的这个代码文件冲突了我们Windows里面已经对这个文件进行修改了
我们在Linux里面再次进行修改的话是不可行的
那么我们如何进行解决操作呢
输入命令git pull将远端和本地进行同步操作
直接将我们在Windows上面进行的修改同步到了我们Linux这里了
远端仓库相比较任何人都是最新的
为什么会出现冲突提醒本地用户你要和远端仓库进行同步的操作