工作中经常用svn对于git还是停留在理论阶段,纸上得来终觉浅,绝知此事要躬行,这不这几天有有一个项目用到了git就让我犯难了几天,因此还是决定重温git知识加固对git的认识
引用廖大神的杰作
https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
开始把普通的文件夹变成git监控的项目
- 首先在任意目录创建一个文件夹,接着进入这个目录中去,
- mkdir learngit //创建一个文件夹
- cd learngit //切换进入文件夹中去
- git init //把文件夹变成git的托管的项目
git 核心原理
image.png- 工作区就是在做git add前的工作区其实就是你文件夹可见的文件
- 暂存区就是git add 后文件进入的地方
- 分支版本库 就是git commit 后就如各个属于当前的分支的版本库
开启git核心
- 往文件夹中随意添加一个文件并写入一些东西
- git status //执行命令显示当前分支的未提交的状态
- git commit -am "备注信息" //提交本地修改了未提交的代码,是git add 和commit命令的集合,此命令可能对于新加的文件无效,只对修改有效,
- git diff //工作区有处的变更提示
- git log //显示提交的日志log,git log --pretty=oneline这是一个美化的代码
- git reset --hard HEAD^ //回退到上一个版本或者 git reset --hard 1094a 通过hash值回退
- git reflog //显示所有的提交的日志信息,如果你后悔了,想要回退回到之前的最新版本,通过这个命令拿到hash值回退回去
- git checkout -- 文件名 //把未提交到暂存区的修改丢弃,即没有执行git add前
- git reset HEAD 文件名 //把暂存区的修改回撤,即执行了git add 但未commit
- 此时有人会问怎样从分支回退前面其实已经讲到了的用git reset --hard就可以实现分支的回退功能
- git remote add origin 仓库的地址 //关联远程仓库但是其实实际工作中还是很少这样做的,一般都是先建好仓库然后git clone下来的
- git push -u origin master //把本地修改推送到仓库中去 首次加上-u参数第二次后不需要再加
- git remote set-url origin https://gitee.com/xxxx.git //更换仓库地址
- git pull origin master //拉取master最新代码
- git remote show origin // 显示远程仓库信息
git分支管理,也是此次被迫我重温的原因
-
git checkout -b dev //创建并切换到分支是 git checkou dev 和 git branch dev是融合的命令
-
git merge 分支名 //这个命令也是我之前迷惑的,比如你想要从dev的修改合并到master,那么你要先回到master分支,然后执行git merge这样就实现了把dev的修改合并到了主干
-
之前在这个犯难总是觉得有问题,为啥我在vscode总是呈现一条线而没有曲线的形式,其实出现这个曲线的原因是主干master和分支并行,并且master和其它分支是不同步的因此就会出现曲线,后面其实发现也不用纠结这个,(不知道对不对,但是不知道是否合理)
-
git stash //在修复bug时常用,即本地有修改但是并未达到提交,但是又要有bug要修复,因此可以用这个命令先暂存工作区确保工作区的干净
-
git remote set-url origin 新仓库地址 //重新转移新的仓库
其实这也是一个知识储备但是实际工作都是通过工具代替,下面简单分析一下vscode中使用git
-
基本功能都在这里有体现
image.png
- 一些如果没有在列表里面的那么就是控制面板的位置即(ctrl+shift+p) 如合并,打tag和推送tag等等的常用的都在这里面
到此git重温完毕,相信这次的回炉能够加深印象的同时也能够在工作中顺利开展git的版本控制
网友评论