一文疾速把握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这个我感觉命令的作用很小。因为个别的开发工具都是能够用的,齐全不须要命令。所以这里就不做具体的介绍。