首页 文章 精选 留言 我的

精选列表

搜索[热点技术征文第8期最强语言],共10000篇文章
优秀的个人博客,低调大师

干货|如何让同事不再吐槽自己的git管理技术

代码作为程序员辛苦加班的结晶,同时也是平时交流最多的方式,"低眉信手续续弹,说尽心中无限事"。她低着头手在键盘上连续地敲个不停;像是用满屏的代码把心中无限的往事说尽,"轻拢慢捻抹复挑,初为《霓裳》后《六幺》",初为然而此刻他并没有像久别重逢的老友一般,叽叽喳喳的说个不停,而是轻轻地拢,慢慢地捻,一会儿抹,一会儿挑,一会儿写策略,一会儿又琢磨起了观察者。现在话锋一转,又谈起了git: 想了解git命令,来一个help看看都有哪些命令: git help <command> git <command> -h git <command> --help 了解之后,想进入git,怎么办?一般我们都不需要重新搭建一个内网git,因为不可能说每个人来到单位,都要把git平台重新搞一遍,而且大多数时候,我们作为开发,是不会有管理员权限的。管理员权限一般由运维把控。所以现在需要找运维童鞋给你开一个账号,开完后,他会把账号密码还有登录地址都发给你(沟通方式看各个公司规定)。 到这里你已经拿到自己的git信息,假设realname="王小风",username="wangxiaofeng",password=wxf20220623 配置下用户的账号信息: git config --global user.name "wangxiaofeng" git config --global user.email wangxiaofeng@163.com 配置级别 –local(默认,高级优先):只影响本地仓库 –global(中优先级):只影响所有当前用户的git仓库 –system(低优先级):影响到全系统的git仓库 刚进公司,环境搭建好之后,也没啥需求。摸会儿鱼?好想法。。。悄咪咪的刷会抖音,打开收藏的歌单,播放《那女孩对我说》,看着视频中的画面,听着一句句熟悉的歌词,脑海中渐渐浮现出她的音容笑貌: 那年那时,跟她谈音乐休养,聊娱乐八卦,相约帝都,共战峡谷。时时醉心于她那机智的言辞,爽朗的笑声。曾经无数次以为可以这样一直开心的聊天。却没想到因为自己的一再犹疑不决,最终导致分道扬镳,天各一方。。。小宅,你最近还好吗? 好!现在你要独立完成一个新项目,要先把项目加到git管理,要不然当你码了几天重要业务逻辑后,电脑出现不可修复故障,不是要哭晕在厕所? 进入项目所在目录,然后 git init 初始化项目。 git init newProject 这样git就会帮你创建好一个项目 但是项目中的文件还没有上传上去,怎么办呢,提交代码分三步走,要一步步来: 调用 git add #将当前工作目录的所有文件添加到暂存区 git add -u # 把修改之后的文件(这些文件已经被管理起来了)一次性提交到暂存区 这里要注意下,add命令调用之后,代码已经加入git管理,就是提交了三分之一。 然后在调用git commit 命令进行提交,提交的历史会被记录下来: $ git commit -m 'MainApplication.java' # -m 指定 commit 的信息 $ git commit # 这时候会跳出一个文本输入界面,让你输入更多的 commit 信息 又向前买了一步,现在代码存储的位置我们称之为暂存区。 你觉得一个文件的名字不好听,想换一个,可以: git mv MainApplication.java UserApplication.java 最后一步,是把代码推送到git远程分支: $ git push 此时代码是推送到master上面的。一个人写完代码直接推送到master上面,简直不要太爽! 现在我们知道,代码文件从创建到提交一路要经过四个地方,分别是本地(local)-->加入代码管理-->暂存区-->远程仓库。第二步和第三步是已经添加到git管理,代码存在暂存区,第四步代码在git远程仓库。 协作开发 刚开始这个项目由你一个人单独开发,一天接到消息:两周后要给领导演示。但是根据现在进度,以及剩余工作亮评估后需要三周左右时间。而进度压缩只有两种方式:赶工和快速跟进。一个人快速跟进,肯定是不行了,只能增加人手,用赶工的方式来完成了。OK,现在一个新的小伙伴王小悠到位。 这个时候,你们的代码管理需要用到分支,分支相当于一个独立的开发空间,团队成员以同一套release代码作为依托,新建功能分支,但是彼此在不同工作空间里面工作的时候是互不影响的,当需要集成的时候又可以把他们集成到一个公共的分支上面去。 多人开发git管理模式:从master上拉取并新建release分支代码,release分支作为正式上线和团队中开发人员拉取项目功能分支的分支,这个分支名称命名我建议用这种格式:dev_公司名称简称全拼_功能名称_分支创建时间(年月日),例如:dev_digndang_userPay_20220529。后面我们再通过dev_digndang_userPay_20220529拉取最新代码并创建自己的功能分支。 下面是有关分支的操作: HEAD->feature_wangxiaofeng_20220530_userLogin 表示当前的 HEAD 指向的是 feature_wangxiaoyou_20220530_userLogin分支,其实真正指向的是该分支最后一次 commit。 【建议】分支创建的命名规则:用户名全拼音_分支创建时间(年月日)_功能名称 git branch #查看分支情况、创建分支、删除分支 git branch -v # 查看本地分支的详细情况 git branch -a # 查看所有分支,包括远端分支,但没有过于详细的信息 git branch -av # 查看所有分支情况 git branch branch_name hash_value # 创建一个新的分支,基于 hash_value 的这个 commit 创建一个新的分支,hash_value 可以省略,那么默认是基于当前分支的最后一个 commit 创建。 git branch -d branch_name git branch -D branch_name # 这个分支已经有了一些 commit git checkout branch_name # 切换分支 例如:你想切换到王小悠的支付分支上: git checkout feature_wangxiaoyou_20220530_pay git checkout -b branch_name git_id # 创建一个新的分支并切换过去,git_id可以是hash_value,也可以是某个分支的名字(分支的名字其实就指向了某个 commit) 如果你现在写完一个需求,代码commit到暂存区,还没有推送到远程仓库,现在使用 git diff --cached 命令,可以比较暂存区代码和本分支最新分支代码中间的差异; 如果你继续提交代码到代码分支的远程仓库,push完成后,觉得还是不放心,担心影响release代码,这时,你可以拿自己分支的代码跟release代码作比较,需要用到 比较:git diff命令: git diff feature_wangxiaofeng_20220530_userLogin release # feature_wangxiaofeng_20220530_userLogin对应的 comimit 和 release 对应的 commit 进行比较(暂存区的比较) git diff feature_wangxiaofeng_20220530_userLogin release -- file_name1 file_name2 # 在上述基础之上,只比较 file_name1、file_name2 这两个文件(暂存区的两个文件比较) git diff branch_name1 branch_name2 # 对两个分支进行比较(远程仓库的比较) git diff branch_name1 branch_name2 -- file_name1 file_name2(远程仓库的两个文件比较) 10天后项目开发完了,王小风和王小悠的代码统一提交到dev_digndang_userPay_20220529分支,然后根据产品童鞋的上线日期,合并代码到release分支,最后通知运维童鞋部署release代码到正式服。 接下来,就是等着发项目奖金了。。哈哈。。。 【 彩蛋福利】 相逢即是有缘,再给大家推荐一个超炫的git管理工具:gitkraken 左侧栏有LOCAL(本地仓库)、REMOTE(远程仓库)、STASHES(修改点)、TAGS(标签)、SUBMODULES(子模块),相当于省去 git branch,直接一目了然所有分支 gitkraken6.5.3本地库开始收费,旧版本下载地址 收费版本 { "version": "6.5.3", "url_deb": "https://release.axocdn.com/linux/GitKraken-v6.5.3.deb", "url_rpm": "https://release.axocdn.com/linux/GitKraken-v6.5.3.rpm", "url_targz": "https://release.axocdn.com/linux/GitKraken-v6.5.3.tar.gz", "url_exe": "https://release.axocdn.com/win64/GitKrakenSetup-6.5.3.exe" } 免费版本 { "version": "6.5.1", "url_deb": "https://release.axocdn.com/linux/GitKraken-v6.5.1.deb", "url_rpm": "https://release.axocdn.com/linux/GitKraken-v6.5.1.rpm", "url_targz": "https://release.axocdn.com/linux/GitKraken-v6.5.1.tar.gz", "url_exe": "https://release.axocdn.com/win64/GitKrakenSetup-6.5.1.exe" } 再放一个免费版本下载链接: https://www.ihawo.com/archives/160.html

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册