Git的学习

今天又是学习的一天,项目leader说让我们在两到三天的时间学会Junit、Git、以及Maven的使用。
想了一下决定今天先学习下Git,以前每次刷完LeetCode往自己的github上传源文件都是每次靠拖拽的方式上传,今天终于可以解决这个问题了,以后直接在idea上一键解决

先介绍下Git吧:
Git就是一个非常方便的分布式代码的版本控制系统!
那SVN是什么架构的呢?是集群式的,今天为了理解下集群式和分布式的区别(即SVN和Git的区别),研究了好久:
1、Git本地仓库包含代码库还有历史库,在本地的环境开发就可以记录历史
2、而SVN的历史库存在于中央仓库,每次对比与提交代码都必须连接到中央仓库才能进行

这样来看还是Git要好一点,可以不联网先进行commit,可以最后在push。

一、IDEA上Git的使用
其实IDEA上学习Git很简单,不需要Git的代码
1、先下载Git安装包,在IDEA中导入Git本地文件
2、就是在你的网上的代码储存工具中选择一个来使用,码云或者github,码云比较快,github比较慢但更牛逼。
3.然后创建一个项目,找到其中的克隆下载把项目的地址可以拷贝在IDEA中,及下载项目在本地,如果项目为空的,先在本地创建项目,然后上传项目。
4.IDEA很简单,只需要熟悉commit图标在哪,如何把提交的推到服务器中(ctrl+shift+k),然后会看历史记录,会返回以前的版本,和修改冲突即可

二、git-bash中的使用
我一直在想,IDEA这种IDE对Git的集成已经很先进了,我们究竟需不需要学习Git的命令呢,最终我还是认真去学了一下,Git的命令一堆,要好好掌握
下面列出了常见的命令和基础的使用场景
常见命令:
1、git clone … 将新项目从远程下载到本地。
2、git add . 将所有修改的代码提交到暂存区。
3、git commit -m “注释” 将暂存区代码提交到本地仓库。
4、git push origin <branch分支名> 将本地仓库的修改同步到原创仓库。
5、git fetch && git rebase 将原创分支的修改同步到本地
6、git checkout -b <branch 分支名> 新建分支
7、git checkout --orphan <branch 分支名> 创建无头节点分支
8、git checkout <branch分支名> 切换分支
9、git merge <branch分支名> 合并分支到当前分支
10、git status 查看当前分支修改的内容
11、git log 查看分支提交日志
12、git diff 查看修改的具体内容
13、git branch 查看当前分支名
14、git branch -D <branch分支名> 删除分支(不能删除当前所在分支)
15、git remote prune origin 清除临时文件
16、git branch <branch分支名> $COMMIT_ID恢复删除的分支
17、git reset --hard 恢复到最后一个commit的版本
18、git reset --hard commitid 恢复到某个历史版本
19、git push -f origin 将本地修改强制推动原创
20、git branch -a 查看所有分支包括原创和分支是否已经下载到本地
21、git remote -v 查看远程仓库地址
22、git branch -r 查看远程仓库未下载的分支
23、git tag 查看所有tag,只要拉下了代码,tag也一并拉下来了
24、git tag –a -m <内容> 将当前代码打上含附注类型的标签,我们日常使用都必须使用该类型
25、git show 查看具体的标签
26、git push origin 提交具体的tag到远端
27、git push origin --tags 提交所有的tag到远端
28、git tag –d 删除一个本地tag,注意并没有在远端删除tag
29、git push origin :refs/tags/ 远端删除一个tag

基本操作
1、提交代码到远程
在代码修改后将代码提交到远程分支必须按照如下流程。
第一步:执行 git add . 将修改写入暂存区
第二步:执行 git commit -m “注释” 将暂存区代码同步到本地仓库
第三步:执行 git push origin 将本地代码同步至远程

2、本地合并代码
使用git merge 合并分支到当前分支,合并后检查代码按照第一步提交代码到远程

3、获取远程代码
第一步:执行git chekcout 切换到你要下载代码的分支
第二步:执行 git fetch && git rebase 下载远程代码至本地

常见情境
1、版本回退
在实际操作中经常遇到修改已经提交到远程,但事后发现提交了错误的代码或者想撤销上次push到远程的内容。大多数人员都会在修改一次代码在一次push到远程已到达回退的效果,但这样操作是不理性的,现在提供一个方法实现版本回退。
第一步:在本地执行git reset --hard $COMMIT_ID将本地代码回退到历史版本,但同时由于版本回退造成本地版本落后于远程版本所以这时在做任何修改都不能push到远程了,会报错。
第二步:使用git push -f origin 将本地的修改强制推动远程分支,使远程分支的版本回退。
2、查看历史版本后回到最新版本
在操作中会遇到想回去看看以前的某次提交代码是怎么样的,观察完毕后又想回到回退之前的代码,可以进行如下操作,前提是远程分支没有被删除同时本地不存在修改后未push的代码。
第一步:在本地执行git reset --hard $COMMIT_ID将本地代码回退到历史版本,就可以观察历史版本的代码情况。
第二步:回退后想回到最新本地从远程git查看最后一次提交的$COMMIT_ID执行 git reset --hard $COMMIT_ID可以将代码还原。
3、从远程下载代码后切换到各个分支
在远程的代码已经有很多分支后,需要在新的地方下载代码,可以进行如下操作
第一步:执行git clone 地址 下载master代码
第二步:执行 git fetch origin 下载所有代码
第三步:执行git checkout 切换分支 不可以加-b 否则为创建分支

大家可以在廖雪峰老师的网站上学,自己边学边敲,今天真是充实的一天!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值