ls -lA
初始本地仓库
git init
查看当前在什么位置
pwd
返回上一级文件
cd …
设置签名
命令
- 创建一个文件
vim good.txt
-
形式 name 用户名 token email 邮箱地址 作用: 用于区分不同开发人员的身份
-
项目级别/仓库级别:尽在当前本地仓库有效
git config user.name sunzhihao
git config user.email 1036786540@qq.com
- 查看设置好了吗
cat .git/config
- 系统用户级别:登录当前操作系统的用户范围
git config --global user.name sunzhihao
git config --global user.email 1036786540@qq.com
- 查看设置好了吗
cd ~
ls -lA|less [ 查看文件查看隐藏文件 ]
cat .gitconfig [ 读区改文件信息 ]
- 优先级 :如果没设置签名则是系统用户级别 ,但是设置项目级别就优系统用户级别 二者都没有是不允许的
追踪文件列表
将 ‘新建 / 修改’ 添加到暂存区(添加操作就是你要操作哪个文件)
git add . 或 git add -A 或 git add [ 文件名字 ]
暂存区删除
把你这个文件村暂存区里删除,不是直接删掉文件 - 你可以后悔
git rm --cached [ 文件名字 ]
查看文件的状态
git status [ 查看工作区,和暂存区的工作状态 ]
提交到暂存区
git commit -m “这里写的是本次需求新增了什么功能” file.txt [ 提交到本地库]
查看提交的历史记录
git log
多屏显示控制 : 空格向下翻页 b 向上翻页 q 退出
历史记录一行显示 若果日志太多屏幕放不下
git log --pretty=oneline
输出历史记录但是hash直选中其中一部分 (一行显示)
git log --oneline
显示到哪个版本需要移动几步
git reflog
HEAD@{移动到当前版本去要第几步}
回退任意版本信息
git reset --hard 35851ba [ 35851ba 索引值 ]
reset 命令的三个参数 :
–soft 仅仅在本地库移动 HEAD 指针
–mixed 在本地库移动head 指针 重置暂存区
–hard 在本地库移动head 指针 重置暂存区 重置工作存区
回退上一版本
git reset --hard HEAD^ [ 回退到上一个版本 ]
git reset --hard HEAD^^ [ 回退到上二个版本 (以此类推)]
git reset --hard HEAD~2 [ 回退到上二个版本 (以此类推)]
删除文件恢复文件
rm file.txt
恢复回退版本即可
前提 删除前,文件存在的状态提交到了本地库
git reset --hard 35851ba [ 删除操作已经提交到本地库 35851ba指针位置 ]
git reset --hard HEAD [ 删除操作尚未提交到本地库 ]
比较内容的差异 (将工作区的文件内容与本地历史记录里的内容比较差异 )
不带指定文件名比较多个
git diff 练习git.txt [练习git.txt文件名字]
git强制推送push(慎用)
git push -f origin master
如何删除git暂存区的文件
git rm -r --cached 文件名
- 使用reset命令 回退到最近一次push后的状态并清空暂存区,但是工作区修改的内容也会被回退
git reset HEAD 文件名
清除缓存
npm cache clean -f
查看全局安装的包
npm list -g --depth=0
删除node-modules包
npm i -g npkill
删除
npkill
全局安装 npm i -g npkill
进入想清理的文件夹 cd 文件路径
输入npkill 会自动查找该文件中node-models
光标上下移动来选择要清理的目录,释放宝贵的空间
按空格删除
git 分支
初始化之后是有一个master 主分支 (骨干)
-u
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。 git push -u origin master
分支的好处
-
同时并行推进多个功能开发。提高开发效率。
-
各个分支在开发过程中。如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除,重新开始即可。
创建分支
git branch hot_fix - hot_fix [ hot_fix 分支名字]
删除分支
git branch -d [分支名字]
查看分支
git branch -v
切换分支
git checkout hot_fix [ hot_fix 分支名字]
新建一个本地分支并切换
git checkout -b dbg_lichen_star [dbg_lichen_star 分支名字]
合并分支
切换到要合并的分支上面 git merge 进行合并
git checkout hot_fix [ hot_fix 分支名字]
git merge hot_fix [ hot_fix 分支名字]
分支冲突
只要你的代码和我的代码在同一行修改了,我们合并分就会冲突,他会显示自动合并失败,然我们解决分支,然后找到对应的文件夹,里面的内容会用 大于号小于号等号分割开来,找到修改代码的人,我们要商量好,就决定要用哪个代码。把多余的代码删除即可。再去执行 git add . 即可 ,再去用 git commit -m “结束合并” 不能带文件名字 结局完毕。
git add .
git commit -m “日志信息” [不能带文件名字]
补充:
-
如果不是基于GitHub,远程库的最新版。所做的修改。不能推送,必须先拉取
-
拉下来后,如果进入冲突状态。则按照分支。是冲突解决操作即可。
git hash 算法
hash是一个系列的加密算法。各个不同的哈希算法虽然加密强度不同。但是有以下几个共同点。
-
不管输入数据量有多大。输入同一个哈希算法,得到加密结果长度固定。
-
哈希算法确定。输入数据确定。输出数据能够保证不变。
-
哈希算法确定输入数据有变化,输出数据一定有变化,而且通常变化很大。
-
哈希算法不可逆。
判断
回到题目,如果你真想检验一个人的水平。第一步先考察一下基本的编程基础,问几个基本的编程问题,可以和前端相关也可以无关。比如垃圾收集大致是怎么做的,setTimeout 大致做了什么(说会在另一个线程里执行回调的直接毙掉)。
第二步考察一下知识面,问问http、tcp的基本知识,dns是怎么工作的,或者常用框架的实现原理,看看候选人是不是除了自己的一亩三分地什么都不关心。
第三步考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。能对答如流的要么做过,要么对他来说这种复杂度的东西是小case。
前三步都没问题,基本上说明候选人已经还行了,但是行到什么程度,不知道。如果想找比较厉害的,就增加个第四步,亮点项目考察。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!
考察hold业务逻辑的能力,从一个简单的注册页,或者查询页开始,先让说下代码的基本架构,然后需求、性能、可靠性、安全层层加码,看看能不能很快的反馈出解决方案。能对答如流的要么做过,要么对他来说这种复杂度的东西是小case。
前三步都没问题,基本上说明候选人已经还行了,但是行到什么程度,不知道。如果想找比较厉害的,就增加个第四步,亮点项目考察。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了,我整理一套前端面试题分享给大家,希望对即将去面试的小伙伴们有帮助!
[外链图片转存中…(img-6iglwkHm-1714285854511)]
[外链图片转存中…(img-AVKmgli3-1714285854512)]