招了一个3年工作经验的程序员,竟然不会用Git


网购
点击蓝字,关注我们

大家好,我是一名大厂全栈工程师,擅长Java后端,Vue前端,小程序编程,Python编程,AIGC等技术。我会分享一些相关的知识干货,以及互联网一些热点话题,感兴趣的话就关注我吧,希望对你有所帮助
01
有网友吐槽,自己项目组招聘了一名拥有三年工作经验的开发,竟然不会使用git.
这位开发说自己之前一直使用svn来管理代码,不过既然他会使用svn,那么学习起来git应该会比较容易,很快就可以上手使用。可事实并非如此,现在来公司已经一周了,基本每天都要花费两三个小时在处理代码冲突上。
要么是拉取远程分支代码和自己本地代码冲突,不会处理,要么就是合并代码时冲突,无法解决。每次都是别人帮他处理,或者是他将本地代码全部删除再重新拉取,将自己的fork仓删除重新fork。
而且他还一直抱怨,为什么要使用git来管理代码,svn比git好用多了,git太麻烦了。
有网友评价说,自己两个都用过,不过确实是svn好用一些,学习成本也低,但是也有网友表示,使用svn的时候遇到lock就比较麻烦了。
不少人认为git复杂的原因,是因为svn可以使用图形界面,而git经常要敲命令行,其实git也有图形界面,可以使用idea中的界面,也可以使用小乌龟。不过现实中,确实存在一些人不喜欢使用图形界面,就喜欢敲命令行。
也有网友表示,现在90%的传统行业还在使用svn,比如金融行业,银行,法院等。突然从svn转到git确实是有些不习惯。
也有人将这种现象归结为公司同事之间都太冷漠,不愿意手把手教,其实手把手教一两次就都会了,而自己学可能需要很久。其实日常开发中也用不了太多的命令,常用的四五个命令就足够了。
02
Git和SVN都是版本控制系统,用于管理和追踪软件开发中的代码变更。下面就简单介绍一下git.
1、Git是分布式版本控制系统,每个开发者都拥有完整的代码仓库副本。
2、Git拥有强大的分支和合并功能,支持并行开发和多个仓库之间的推送和拉取。
3、Git的操作速度快,因为大部分操作是在本地完成。
4、Git使用快照方式存储数据,对于处理大型代码库和大量文件更有效率。
5、Git具有出色的灵活性和可定制性,可以根据团队和项目需要进行定制。
git的主要优点就是分布式架构,支持并行开发,而且拥有强大的分支和合并能力,便于团队协作和版本管理。
当然,git对于初学者会比较复杂一些,对于处理一些大文件效率也稍微低一些。它主要用于多人协作的大项目,需要频繁分支和合并的情况。
git的一些常用命令介绍如下:
1. git init:初始化一个新的Git仓库。
2. git clone [repository]:从远程仓库克隆一个副本到本地。
3. git add [file]:将文件添加到暂存区。
4. git commit -m [message]:提交更改并添加提交信息。
5. git status:查看工作区和暂存区的状态。
6. git push origin [branch]:将本地分支推送到远程仓库。
7. git pull:从远程仓库获取最新的更改并合并到本地。
8. git branch:查看分支列表。
9. git checkout [branch]:切换到指定的分支。
10. git merge [branch]:将指定的分支合并到当前分支。
11. git log:查看提交日志。
12. git reset [commit]:返回到指定的提交。
13. git remote -v:查看远程仓库的URL。
14. git diff:查看工作区和暂存区之间的差异。
15. git reset HEAD [file]:将文件移出暂存区,取消暂存的更改。
16. git stash:将当前的工作区的更改保存到工作区中。
17. git checkout -- [file]:撤销对文件的更改,并将文件回退到最近一次的提交状态。18. git branch [branch]:创建一个新的分支。
19. git remote add origin [url]:将本地仓库与远程仓库关联。
20. git fetch:从远程仓库获取最新的更改,但并不自动合并到本地分支。
21. git cherry-pick [commit]:选择指定的提交,将其应用到当前分支。
22. git rebase [branch]:将当前分支的更改移动到指定的分支上,使分支保持最新状态。
23. git tag [tagname]:给当前提交打上标签。
24. git log --oneline --graph:以简洁的形式展示提交历史和分支关系。
25. git revert [commit]:撤销指定的提交,并创建一个新的提交来反转更改。
而SVN是集中式版本控制系统,所有代码存储在中央仓库。每个开发者只能从中央仓库检出代码副本,需要与服务器进行交互。优点是使用起来比较简单,缺点是不支持分布式开发,分支和合并的功能相当弱一些。主要适用于小型项目和个人开发者,还有就是文档管理系统。
在实际开发中,你是使用git还是使用svn呢?使用图形界面还是使用命令行呢?欢迎大家留言讨论。
相关推荐
💗 某大厂员工爆料:年底裁员,赔偿n+1没有年终奖
💗 某腾讯程序员:给码农们提个醒,写防御性编程,才能避免被裁员
💗 某程序员入职国企,写了几个接口,用了Put和Delete,却被前端开发要求改成Post
程序员修炼

长按识别二维码,关注我们
程序员修炼的不止技术
到顶部