目录
---------------------------------------------------------------------------------------------------------------------------------
今天面试,被问到了码仓,突然就意识到我或许应该出一期git的教程。
那么开始吧。
华清远见的git分享课
感谢以上三个组织,我就是在这里学的。
-------------------------------------------------------------------------------------------------------------------------------
一、git在职场中的重要性
1.1git是什么?
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 没听错就是linux之父写的,据说这里还有一个小故事,以前有个版本控制工具的公司是付费的,但是为了帮助开源组织管理代码无偿把他们的工具给linux社区的成员使用,但是这个社区有个开源大佬,要把人家软件开源了,最后还被发现了,这还得了,当场就不给用了,这时候linux社区就难了起来,而利纳斯用了两周就用C写出了git并且通过测试投入使用。这就是git的由来。
1.2什么是版本控制
简单来说就是备份,版本控制经历了四个阶段,手动管理,也就是版本1,版本2,版本3这种赋值黏贴改名的原始方式,第二个实际用本地管理软件进行本分,这时候不能协同开发也很难受,第三个时期就是集中式管理,比如SVN这种大家把各种版本都放到统一的服务器中,服务器崩了就全没了,而git也就是第四阶段,每个版本大家都有,也可以随时推送安全且高效。
1.3学习这个工具的作用和目的
会保留并管理之前所有的版本;
方便代码的版本生成和版本回退及跳转。
二、Git开发必备技能及其应用场景
2.1 如何用Git对一个目录进行版本控制流程?
这里说明了每个环境的安装方式
git有三个区域
ubuntu/debian: sudo apt-get install git
这是我前几天才弄得ubuntu22.04打算学习ROS来着。正好拿来安下git
win:直接下载安装包一直下一步就ok
先进到目录做初始化: git init
配置姓名: git config --global user.name "Your Name"
配置邮箱: git config --global user.email "you@example.com"
查看并管理目录下文件的状态: git status (新增的及修改的文件都是红色)
我新建了一个他同样检测到了
将指定文件或所有文件加到暂存区: git add 文件名 或 git add . (绿了)
我们发现我们管理的文件会变成绿色,而没管理的文件还是红色
在ubuntu中也一样,然后git add .就全部管理
当我们修改后他又变成了红色,我在这个文本文件放了四个1
生成版本: git commit -m “名字” (名字随便起,为了管理)
他说我们没登录,现在登录一下
登陆后就成功了并且可以看到我们的版本号
查看版本记录: git log
https://git-scm.com/download/win
现在有两个版本
使用 git reset --hard 版本号就可以回退版本
三、Git 如何上传和提取代码
3.1 克隆远端库到本地库
首先要申请一个代码仓库账号,国外的github和国内的gitee都可以,我更喜欢用EE
也就是码云
我们需要生成密钥并添加到仓库才能用仓库内的代码
生成密钥: ssh-keygen -t rsa -C "youremail" (直接按三次回车即可生成;
cat /home/xxx/.ssh/id_rsa.pub查看公钥[xxx为自己的用户名],
将这个公钥添加到git仓库,即可下载clone该仓库的源码文件。)
然后将密钥加载到码云 即可克隆或上传
如果是win的话会告诉你生成的密匙的位置
在设置里可以把密钥添加进去
成功后会在这里显示
这时候找到我们的这个SSH仓库的地址
直接用命令进行下载
3.2 将本地库推送到远端库
git push SSH地址
各种方式都推送不了可能是因为开了这个
官方这里也会有一些命令
git push -u origin "master"
四、使用git进行协调开发
4.1 创建、删除、切换分支
4.2 合并分支