git实战管理项目的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
示例
#1.初始化 通常在根目录下,执行:【git init】,完成项目的git初始化 #2.添加 当在项目中,添加新文件后,执行:【git add .】,完成新文件git添加 #3.提交 当在项目中,更新内容后,执行:【git commit -m'log content'】,完成git提交,需要注意此时的提交,是提交到本地的暂存区,内容变化还未同步到远程,这是与svn的提交不一样的地方 #4.查看状态 如果想要查看项目的git状态,执行:【git status】 #5.查看分支 查看本地分支,执行:【git branch】 查看远程分支,执行:【git branch -r】 #6.开新分支 开一个新分支,比如说从master分支,开分支v1.0,执行:【git checkout -b v1.0 origin/master】 #7.克隆、拉取 从远程仓库克隆代码,执行:【git clone https://xxx/xxx.git】 从远程仓库拉取最新代码,执行:【git pull】 #8.推送 如果是本地项目,第一次推送,需要与远程仓库建立连接,执行:【git remote add origin https://xxx/xxx.git】 如果是本地项目,第一次推送,与远程仓库建立连接后,第一次推送执行: 【git pull】--->优先从远程仓库,做一次拉取 【git push -u -f origin/master】---> -f参数,表示强制推送,覆盖远程仓库 如果不是第一次推送,执行:【git push】
复习了解了git的常用命令,我们借助码云做一个相对完整的案例演示。首先我们建立一个远程仓库:algorithm,用于分享数据结构与算法,我会把数据结构与算法系列文章的源码放到这个仓库中
我们进入项目:data-struct-pro根目录,创建两个文件,分别是
README.md,用于描述项目详细信息
.gitignore,用于描述git忽略文件信息
数据结构与算法知识汇聚
#忽略class文件 *.class #忽略打包文件 *.war *.ear #忽略kdiff3对比文件 *.orig #忽略maven文件 target/ #忽略eclipse文件 .settings/ .project .classpath #忽略idea文件 .idea/ /idea/ *.ipr *.iml *.iws #忽略临时文件 *.log *.cache *.diff *.patch *.tmp #忽略系统文件 .DS_Store Thumbs.db
git初始化前
git初始化后
完成初始化后,项目已经通过git管理起来,我们需要将项目内容添加、提交到git本地暂存区中,具体操作
查看当前git状态信息,执行:【git status】
添加项目内容,执行:【git add .】
提交项目内容,执行:【git commit -m'algorithm project init'】
在本地项目git初始化后,我们需要把项目进一步推送到远程仓库中,具体步骤
建立远程仓库连接,执行:【git remote add origin https://gitee.com/yanghouhua/algorithm.git 】
拉取远程仓库初始化信息,执行:【git pull】
推送本地项目到远程仓库,执行:【git push -u -f origin master】
图一
图二(推送的时候,需要用户验证,输入远程仓库上的用户名、密码即可)
图三(推送成功后,远程仓库上已经有我们的项目代码了)
到这一步,我们已经把本地项目,推送到远程仓库管理起来。这个时候,项目组的小伙伴就都可以从远程仓库,拉取项目的代码到本地,愉快的进行日常开发了。
当然这个时候,我们需要注意一些最佳实践,下面我将给你分享
分支开发,主干发布
git项目分支管理
这里,我将我们项目组实施的分支管理实践分享给你,你需要注意,每个项目组的实践方式一定会有差异,都需要参考项目组自身的需要来调整,因此我们关注到每个分支的含义就可以了
master分支:主干分支,在我们项目组中,master分支用于线上备份,即在每次上线发布后,直接从release分支合并而来
release分支:发布分支,在我们项目组中,该分支用于上线发布
test分支:测试分支,在我们项目组中,该分支用于测试
develop分支:开发分支,在我们项目组中,该分支用于新需求,新功能开发。每个新需求新功能,我们会从release分支作为起点,开一个develop分支,比如说:develop-xxx-20210523
hotfix分支:bug修复分支,在我们项目组中,该分支用于线上bug修复。针对线上bug,我们会从release分支作为起点,开一个hotfix分支,比如说:hotfix-xxx-20210523
看到这里,可能有朋友会问了,那么你们的分支之间是怎么流转,保障代码同步的呢?我们是这么做的
不管是新需求,还是线上bug修复,我们都会以release分支作为起点,开新的分支
当需求开发完成,或者bug修复完成,我们会优先将代码合并到test分支,进行测试
测试通过后,我们会将需求分支、bug修复分支代码合并到release分支,进行预生产发布
预生产环境测试通过后,直接推送发布到生产环境
整个项目上线发布完成,将release分支代码,合并到master分支,实现分支代码的同步
关于整个分支代码流转,我就不具体演示了,毕竟每个团队都会有自己的规范。在这里最后,我们分享一下如何开新分支、以及如何在分支之间切换
创建新分支,执行:【git checkout -b v1.0 origin/master】
推送v1.0分支到远程仓库,执行:【git push origin HEAD -u】
切换分支,执行:【git checkout master】
图一
图二
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。