由于个人需要,个人研究项目,这里暂且不多说本地库与远程库之间的操作,用我一般也就用个git clone(将远程库拉到本地库)
这里也没有叙述如何从本地库传到远程库,下面主要讲本地库的操作以及IDEA中中使用Git,如有相关需要再往下看,如果想看本地库到远程库,这里没有叙述。
本地库分为工作区和版本库,版本库有个暂存区(不展开说,这里只写具体操作)
这个idea 有更好的操作可以直接进行:
也可以在目录中打开 git,然后在敲git init,再打开idea,也是可以的。
git commit -m < message > //提交,更新分支版本,产生版本号
git reset HEAD^ //回退到上一个版本,不改变工作区
git reset --hard HEAD^ //回退到上一个版本,更改工作区
以下是上面提交后的可视化,到这我们就自己用,自己做一步提交一下,每天都会以日志的形式呈现在我们面前,也是一种方便了吧感觉:
git checkout – file
作用:回退到与版本库一样;
git reset HEAD < file >
作用:将缓存区的该文件回退到工作区,这个时候
这个时候等同于场景一,我们再用场景一的操作方法即可;
以上面说过回退版本的方式进行操作。
当你忘记文件或目录修改了哪时,可以利用这个操作进行查看:
git diff < file>或目录
这俩都是记录了日志的,虽然 idea 中有那个Git,显示的很清楚了,但俩指令也还是很重要的,主要是它可以查看到对应版本的版本号:
根据这个我们也可以清楚的看见我们在每个版本上干了啥事,是和另一个分支合并了呢,还是回退版本了,还是更改分支了呢?…
合并分支时候,加上–no-ff参数就可以用普通模式进行合并,合并后就会有历史记录,历史上会有分支,会有新的版本;形式:git merge --no-ff <分支名>
而直接git merge合并就是 fast forward形式的合并,并不会产生新的分支,这样你很难直接看出合并了。
采用这种方式合并就非常nice了,分支图就非常的直观。
fast forward翻译向前加速,实际是这种分支的速度很快,它是直接将主分支(这里是指要合并的)到副分支的位置,这样速度就快了,但是图形图就不直观了。(有好有坏)
(个人记忆技巧:这里说说如何记忆–no-ff我是这样记得,–no是no两次f,-f是指每一个f,因为fast forward俩个单词首字母都是f嘛,就记忆为no fast forward,就得出了 --no-f参数)
个人不是很喜欢,还是喜欢打命令,可能感觉好理解一些吧
Git内置功能
我们可以以一个分支为主分支,创建一个新的分支进行操作,等操作到一定的时候,再进行与主分支合并,这样不会伤害的主分支,以保障程序的安全。
Git内容还有很多,远不止这些,比如处理bug,与远程库的相关操作,还有标签的使用…
一步一个脚印,有基础要用咱再学的时候,会比我们想象地会快很多。