入职经历(不感兴趣的小伙伴可以跳过哦)
今年暑假是刚入职的Java实习生小白,刚进公司,公司就让用git去把gitlab上的项目全部克隆下来,在这之前我也学过git,一下就克隆下来了,不就是个git clone么,然后导入jar包一直导不进去,maven、阿里云镜像啥的都没问题,后来问同事才知道是没有用公司的私服,有些jar包下不下来导致的,后来去掉了阿里云镜像加上了私服只导入了部分jar包,我又把阿里云镜像加了回来,莫名其妙就导入了进来,莫名其妙就是,我认为私服如果没有jar包的话它会从中央仓库去下载jar包到私服,然后本地仓库就可以去私服里下jar包,然后本地maven项目就可以导入本地仓库的jar包了。当时没完全理解阿里云镜像和中央仓库的关系,其实如果没有配置私服,本地仓库也没有jar包的时候,maven默认是从中央仓库去下载jar包的,但是settings.xml文件里默认是从外网去下载的,所以配置阿里云镜像就可以让它从国内去下载,速度很快。
maven项目首先从本地仓库去获取jar包,如果配置了私服(远程仓库),就去私服里去下载jar包,如果私服没有,私服就会去中央仓库去下载jar包到私服。所以当时我觉得我导入不进来可能是因为我把阿里云镜像去掉的时候,速度变慢或者maven中央仓库的网址崩了,导致我的私服从中央仓库上下不下来jar包,也可能是我IDEA版本太低的原因,还可能是settings.xml还是有点问题,IDEA集成maven肯定是没问题的。反正光项目加配环境就搞了两天,主要是导项目导的真烦,终于导进去了呜呜呜....
我是周三入职的,来公司两天就配环境、导入项目、了解各种东西。我刚开始还用的自己的电脑,由于我的电脑都有环境所以想的是用自己的,后来发现别的实习生他们用的公司的电脑挺快的,然后我才用的公司的电脑,因为涉及到很多微服务项目,很占内存的,当时用我电脑启动各个服务启动的我心态崩了,有时候还启动不了,各种bug,涉及到测试环境下的各种库,redis集群IP等等,不过这些问题最终都迎刃而解了。
开了很多会,刚开始听的很模糊,都是IT术语,只能听懂一点点,后来给了我一个bug让我去解决,让我熟悉业务逻辑,然后期间又给了我两个需求,又经过一周的努力,上述都已完成,整个过程学到了不少东西,也慢慢了解了公司的业务逻辑,但是目前还是有很多不懂的问题需要自己一点点的去解决,要多问,我还有很多以前学过的知识都有点忘了、亦或者过时了,或者用法、观念啥的不对,都得去改,还得继续努力,慢慢一步一个脚印来!下面就给大家介绍一下我近两周学到的git的用法以及心得!
Git实际工作中的基本操作流程(自己的总结加百度的干货)
1、首先,一般都会先git clone项目,git clone命令起到的效果是完整的把远程库下载到本地、创建远程库地址别名(一般都是origin)、初始化本地库(也就是git init操作 生成.git文件夹)
2、Windows环境下intellij idea设置terminal为Git bash的命令行,也就是可以使用tab快捷键,点击Settings-Tools-Terminal,设置Shell path为 \Git安装目录\bin\bash.exe
3、我是在分支的基础上去建立分支,如果你刚克隆下来的话默认就是master分支。git checkout-b new_branch基于当前的分支,创建new_branch分支并切换分支(基于的意思就是代码都一样,名字不一样而已,在新的分支上去做开发)
4、然后git add .提交到暂存区(git add .:他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。)
5、git commit -m "描述" 提交到本地库(commit是为了告诉git我这次提交改了哪些东西,不然你只是改了但是git不知道你改了,也就无从判断比较;)
6、git pull origin master(pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来,这个时候就需要先把和你冲突的那个人拉过来问问保留谁的代码,然后在 git add && git commit && git pull 这三连,再次 pull 一次是为了防止再你们协商的时候另一个人给又提交了一版东西,如果真发生了那流程重复一遍,通常没有冲突的时候就直接给你合并了,不会把你的代码给覆盖掉) 注意:每次commit后都要git pull一下,要保证你的代码是最新的并且不会把别人的代码给覆盖掉。
7、git push --set-upstream origin 分支名(这个命令是为了和远程库建立关联,下次直接git push就可以了,前提是看好你当前所在的分支是哪个,首次执行这个命令也是将你的当前新分支推送到线上)
8、出现代码覆盖或者丢失的情况:比如A B两人的代码pull 时候的版本都是1,A在本地提交了2,3并且推送到远程了,B 进行修改的时候没有commit 操作,他先自己写了东西,然后 git pull 这个时候 B 本地版本已经到3了,B 在本地版本3的时候改了 A 写过的代码,再进行了git commit && git push 那么在远程版本中就是4,而且 A 的代码被覆盖了,所以说所有人都要先 commit 再 pull,不然真的会覆盖代码的
9、git修改分支的名称:https://blog.youkuaiyun.com/qq_33242956/article/details/105856965
10、git restore --staged <file>:将文件从暂存区撤出,但不会撤销工作区文件的更改 (即: git status 提示的 被修改且被加入暂存区的内容,会被撤销,工作区文件的更改不会变)
git restore <file> :将不在暂存区的文件撤销更改(即:git status 提示的被修改但未被加入暂存区的内容,会被撤销,我个人理解的是撤销对工作区的更改。)
11、下图点击蓝色箭头就会执行拉取代码的操作,默认会拉取整个工程的代码,每个Module拉取每个Module所在远程分支的最新代码,一般勾选如下:Merge和Using Stash。推送代码到远程也可以点击绿色的箭头,然后commit and push即可。


12、版本控制GIT 两次add同一个文件,第二次add是覆盖第一次的,还是合并第一次的?
git在第一次进行add后会将修改过的文件添加到暂存区,第二次在进行修改后,再次add后,用git status会提示你再进行一次add去更新原来暂存区的文件,也就是会以你最后一次修改的文件为准。
13、nothing to commit, working tree clean如果你没对工作区进行更改,git status查看到的就是“干净的”。
本文介绍了作者作为Java实习生在工作中遇到的Git使用问题及解决方案,包括git clone、配置IntelliJ IDEA的Git bash、创建与切换分支、提交与暂存区操作、解决冲突和代码覆盖问题等。通过实例分享了实际工作中Git的基本操作流程,旨在帮助读者更好地理解和应用Git。
1015

被折叠的 条评论
为什么被折叠?



