Editor&Mac1,使用编辑器vs代码插件git辅助工具,可以查看代码编写器:GitBlame2,Mac工具使用强大的终端item23,完美配置文件名大小在macOS写敏感(解决git默认大小写不敏感问题)解决git大小写不敏感知识文章一、git在一般企业中使用代码管理工具Git,通过拉分支进行详细开发,所以掌握git分支是使用Git的必要条件运行时下载指定分支。命令为:gitclone-b分支名称仓库地址初始开发git操作过程本地创建公钥ssh-keygen-trsa-C"邮箱"并配置克隆最新的主分支项目代码gitclone地址创建本地分支gitbranch分支名查看本地分支gitbranch查看远程分支gitbranch-aswitchbranchgitcheckout分支名(一般情况下如果没有提交修改,是不能切换的,经常出现case问题,可以强制切换gitcheckout分支名-fnot一定要慎用)将本地分支推送到远程分支gitpush<远程仓库><本地分支>:<远程分支>必备知识点概念:远程:远程主仓库;Repository:本地仓库;Index:Git跟踪树,暂存区;workspace:本地工作空间(也就是你编辑器的代码)一般操作流程:《工作区》->gitstatus查看状态->gitadd。将所有修改添加到暂存区->gitcommit-m"提交描述"提交代码到本地仓库->gitpush更新本地仓库代码到远程仓库1.gitremote为远程仓库指定一个别名方便远程主机的管理。默认只有一个时,查看origin的主机名:gitremoteview主机名就是url:gitremote-v默认将远程仓库clone到本地时,远程主机为origin。如果需要指定别名,可以使用gitclone-o查看host的详细信息。gitremoteshow<主机名>添加远程主机gitremoteadd<主机名>删除远程主机gitremoterm<主机名>;修改远程主机别名:gitremoterename<原主机名><新主机名>2.gitfetch将远程主机的所有/分支更新回本地(此时更新Repository)它检索到的code对您的本地开发代码没有影响。如果需要完整更新,需要合并或者使用gitpull更新远程主机,取回本地所有的gitfetch<远程主机名>;将远程仓库的具体分支更新到本地gitfetch<远程主机名><分支名>如果需要拉取更新但是本地工作代码需要合并到本地分支gitmerge或者创建anewbranchbasedonthisandswitchgitcheckout-b3.gitpull拉取远程主机一个分支的更新,然后与指定的本地分支合并(相当于操作fetch的具有合并分支的功能)拉取远程分支并与本地分支合并合并分支(如果没有则默认创建):gitpull:如果远程分支与当前分支合并,则冒号后的部分可以省略:gitpull<远程主机名><远程分支名称>如果当前分支与远程分支有跟踪关系,则远程分支名可以省略:gitpull<远程主机名>如果当前分支只有一个跟踪分支,远程主机名可以省略:gitpull3.gitpush将本地分支的更新推送到远程主机,并且其命令格式类似于gitpull,将本地分支推送到远程分支:gitpush<远程主机名><本地分支名>:<远程分支名>if如果省略远程分支名,则默认推送本地分支到关联的远程分支:(一般设置本地分支和关联的远程分支重名,防止混淆)gitpush<远程主机名><本地分支名>if如果对应的远程分支不存在,它将被创建(m默认为与本地分支相同的名称)。如果省略本地分支名称,则表示删除指定的远程分支,相当于将一个空的本地分支推送到对应的远程分支:gitpushorigin:相当于gitpushorigin--delete如果当前分支和远程分支有跟踪关系,本地分支和远程分支都可以省略。gitpushorigin如果当前分支只有一个跟踪分支,主机名也可以省略:gitpush如果当前分支与多个主机之间存在跟踪关系(使用场景相对较少),可以使用-u来指定默认推送主机gitpush-uorigin设置时需要推送时,可以直接使用gitpush将本地所有分支推送到远程主机:gitpush--allorigin如果远程的版本host比本地版本新,Git推送时会报错。需要在本地做gitpull合并差异,然后push到远程主机。如果一定要push,可以使用--force选项(谨慎使用,除非你非常确定):gitpush--forceorigin注意:分支push序列的格式是:,所以gitpull格式:<远程分支>:<本地分支>,gitpush格式为:<本地分支>:<远程分支>。4、分支操作创建本地分支:gitbranchtest:(创建本地分支名为test)switchbranch:gitcheckouttest:(切换到test分支)createandswitchbranchgitcheckout-btest:(相当于上面两个命令组合)查看本地分支:gitbranch查看远程仓库所有分支:gitbranch-a删除本地分支:gitbranch-dtest:(删除本地测试分支)分支合并:gitmergemaster:(将master分支合并到当前branch)本地分支重命名:gitbranch-moldNamenewName远程分支重命名:重命名远程分支对应的本地分支:gitbranch-moldNamenewName;删除远程分支:gitpush--deleteoriginoldName;上传新命名的本地分支:gitpushoriginnewName;将修改后的本地分支与远程分支关联:gitbranch--set-upstream-toorigin/newName分支关联:查看当前本地分支与远程分支关联:gitbranch-vv将当前本地分支与远程分支关联origin(通过--set-upstream-to命令):gitbranch--set-upstream-to=origin/feature/clear-server-eslint-error_180713分支差异查看本地当前分支与远程分支的差异:gitdifforigin/feature/reserve-3.4查看本地特定分支和远程分支的区别:gitdiffmasterorigin/feature/reserve-3.4(查看本地master分支和远程feature/reserve-3.4分支的区别,如图)5、修改和撤销gitcheckout--:放弃对工作区的修改,意思是将文件恢复到上次gitcommit或gitadd时的状态。gitresetHEAD<文件名>:取消暂存区的修改,放回工作区。gitreset--hardcommit_id:gitversionrollback,回滚到特定的commit_id版本过程:gitlog查看commit历史,确定回滚到哪个版本(commit后的ID为ID);gitreset--hardcommit_id:回到commit_id版本;gitreflog检查命令历史记录以确定将来要返回到哪个版本;更新远程代码到本地gitfetchoriginmaster(branch)gitpull//拉取到本地的代码gitdiffmasterorigin/master//查看本地分支代码和远程仓库的区别拉取远程分支和createalocalbranchgitcheckout-blocalbranchnameorigin/remotebranchname:使用该方法在本地新建一个分支,并自动切换到本地分支Branch;gitfetchorigin远程分支名:本地分支名:使用该方法会在本地新建一个分支,但不会自动切换到本地分支,需要手动checkout。6.配置gitconfig-l//显示所有git配置项gitconfigcore.ignorecasefalse//配置git不忽略大小写(默认忽略)参考(gitcase)7.暂存gitstash可以用来暂存storage当前正在进行的工作,比如你想拉取最新的代码但不想提交,或者为了修改一个紧急的bug,先stash回到你上次commit,然后在bug之后stashpop改正后,继续原来的工作;添加缓存堆栈:gitstash;查看缓存栈:gitstashlist;启动缓存堆栈:gitstashpop;取出具体的缓存内容:gitstashapplystash@{1};留下一个赞!往期经典好文:JavaScript经典面试题总结我的前端面试日记相关好文推荐:http消息详解我的博客将转入同步到腾讯云+社区,诚邀大家加入:https://cloud.tencent.com/开发...