实习之前确实没有接触过git工具,一边实习一边学习,确实跳进过不少的坑,git工具教科书式的教程是在是太多了,我主要是根据自己的学习过程,跟大家分享一下,着重点在于实际操作,十天学会单片机,一天学会git工具,嘿嘿,之前从csdn学到不少前辈大佬们的经验,出于良心发现,也献出自己的一些贡献,ps:其实就是得瑟一下~本人也是第一次写csdn,不足之处还望多多指教。
假如小明(哎,哪里都是小明)是一个没有接触过git工具的孩纸,让我来跟他聊会吧。
小明:什么是git啊?能吃吗?好吃吗?
我:嗯……我也是个吃货,但是可惜它并不能吃哎。linux的创始人linus(这个名字好有意思哈,就像作家在作品上写了l个笔名)花了两周的时间(大神就是大神,不服不行)用c写完了git工具,一个分布式版本控制系统。
小明:为什么要用git,我给文件起名为xxv1、xxv2……xxvn不就可以了吗?
我:是的呢,你好聪明呢,不过,你酱紫看文件夹里面的文件,不会觉得很乱吗?
小明:没有啊,文件名自动排序,简介明了
我:那你要是里面有好多文件要管理呢?
小明:嗯……这个嘛……那你说说git有什么好处吧
我:1. 文件夹里显示的都是你当前版本的文件,2. 可以方便的查看版本之间的改动,3. 可以方便的回退到之前的版本, 4. 回退到之前版本后,还可以回到“未来”版本, 5. 更方便团队合作开发……
小明:好啦好啦,这么神奇的工具,快教我怎么用吧
我:好嘞
按照教科书,git分为3个空间
版本库:存储提交的历史版本文件
暂存区:暂时存储修改的文件
工作区:当前可操作的文件
git流程:
总结
将work分支的提交copy到topic分支
注:5Id是指work分支5这的点的版本号
git cherry-pick和git merge区别:
git cherry-pick新的节点保存的是5Id的提交信息
git merge新的节点是merge信息
git merge --ff
git merge --no-ff
注:rebase -i 交互式rebase,可对rebase过程进行操作
在开发中,我们需要本地分支和远程分支相关联,否则会报错“未追踪远程分支”,下面是远程分支相关的git基础命令
一般发版时会使用tag工具进行打tag,用于记录发版信息,方便用于后期回溯版本。
git tag:展示所有tag信息(展示的标签按照字母顺序排序)
git tag -l(–list):可以添加通配符过滤tag信息。例:git tag -l “v1.*”
git tag tag_name:新建轻量级(lightwight)tag,tag_name为需要添加的tag名称。例:git tag v1.0
git tag -a tag_name -m tag_info:新建含备注(annotated)tag。例:git tag -a v1.0 -m “v1.0是一个很棒的版本”
git tag -a tag_name commitId -m tag_info:给某个commitId添加tag信息
git show tag_name:查看该tag信息
git push origin tag_name:将本地tag push到远端
git push origin --tags:将本地所有tag push到远端
git checkout tag_name:切换到某个tag,此时该分支处于游离状态,可以基于该分支创建新分支
git tag -d tag_name:删除本地某tag
git push origin :refs/tags/tag_name:删除远端tag_name分支
本文发布于:2024-01-29 04:47:16,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170647483712797.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |