一文快速掌握git操作前言这个是看黑马的ajax入门中的git内容,自己做的一些笔记。推荐再看完后,进行练习:Learn Git Branching这个是github上热门的一个开源项目,专门练习git操作的一个网站。除此之外,可以访问我的个人博客去查看git更加深入的研究等:个人主页 | 小uの学习笔记 (guoyaxue.top)git就是一个免费开源的,分布式的代码版本控制系统,帮助开发团队维护代码。作用就是记录代码内容,切换代码版本,多人开发时搞高效的合并代码的一个开源软件。首先就是进行用户信息的配置这里需要配置的是用户名和邮箱分别是用git config --global user.name "xiaou"以及git config --global user.email "xxx@xxx.com"这个就是只用配置一次就可以的。之后用git config --list就可以看到自己配置的一些东西了
图片
仓库这个是用来记录文件状态内容的地方,存储着修改的历史记录。创建的方法有俩种从本地文件夹转换为git仓库:git init从其他服务器上克隆git仓库之后就得到了一个空白的.git的文件夹,这个就是一个仓库
图片
git的三个区域工作区:实际开发时操作的文件夹缓存区:保存之前的准备区域版本库:提交并保存缓存区的内容,产生一个版本快照
图片
大概的流程就是这样。这里涉及到了三个命令
图片
其中git ls-files可以查看暂存区内的文件
图片
之后进行git commit -m进行提交,出现下面的提示,就算是提交成功了。文件状态有两个状态未跟踪:新文件,未被Git管理过已跟踪:Git已经知道和管理的文件
图片
所以说,git的一个基本使用流程那就是,修改文件,暂存,提交保存记录,如此反复同时,我们可以通过git status -s来查看文件状态。暂存区的使用他可以暂时存储,可以临时恢复代码内容,与版本库解耦。他的另外一个作用,就是当你需要完全确定覆盖时使用。
图片
这个时候用到的就是git restore 目标文件包括从暂存区移除文件就是git rm --cached回退版本也就是把某次提交恢复到工作区/缓存区查看提交记录的代码:git log --oneline之后我们的回退命令git reset --soft 版本号(其他文件未跟踪)这个也叫保留模式git reset --hard 版本号这个叫做覆盖模式属于直接覆盖到工作区和暂存区git reset --mixed 版本号等价于git reset这个就是覆盖暂存区,保留工作区。我们用一个图来说明这几个关系的区别
图片
一般使用hard的方式是比较多的假如说回退之后,我们再用git log --oneline的话是没有办法看到后续的版本号的这个时候我们就需要使用git reflog --oneline来查看我们所有的操作日志删除文件步骤:手动删除工作区文件暂存变更/手动删除缓存区文件造成变更提交保存也就是直接使用git add .忽略文件.gitignore 文件可以让git彻底忽略跟踪指定文件例如系统或软件自动生成的文件编译产生的结果文件运行时生成的日志文件,缓存文件,临时文件等涉密文件,密码,秘钥等文件
图片
分支本质上就是指向提交节点的可变指针,默认名字是master注意:HEAD指针影响工作区/暂存区的代码状态也就是说HEAD所指向的,就是用到的分支场景应用:开发新需求/修复bug,保证主线代码随时可用,多人协同开发提高效率。
图片
创建分支命令git branch 分支名切换分支git checkout 分支名查看所有分支git branch 合并与删除切回到要合并的分支上:git checkout master合并其他分支过来:git merge 分支名删除合并后的分支指针git branch -d 分支名合并与提交
图片
这个我们只需要了解一下就可以了。就是因为我们的原来的分支产生了新的提交记录。流程和前面的是一样的。需要注意的是,提交的记录的顺序是按照产生的先后顺序,而非提交的先后顺序合并冲突这个字面上来说就很好理解。我们来举个例子基于master新建一个publish分支,修改html文件的title标签,并提交一次切换到master,也在修改内容页面html文件的title标签,并且提交一次冲突:把publish分支合并到master回来也就是说 不同分支中,对同一个文件的同一部分修改,git无法干净的合并,产生合并冲突。也就是有这个错误
图片
在vscode中,有这样的提示
图片
常用命令
图片

图片
Git远程仓库托管在互联网中的你的项目的版本库作用:保存版本库的历史记录,多人协作创建:公司自己服务器/第三方托管平台(gitee,gitlab,github)黑马这里介绍的是gitee这个我觉得命令的作用很小。因为一般的开发工具都是可以用的,完全不需要命令。所以这里就不做详细的介绍。


5 声望0 粉丝