【前端面试】git面试整理

举例工作中常用git命令

查看提交记录命令:git reflog
切换到主分支: git checkout master
其他常用的按着经验说

撤销本次提交误操作

想撤销提交到索引区的文件,可以通过git reset HEAD file
想撤销提交到本地仓库的文件,可以通过git reset –soft HEAD^n恢复当前分支的版本库至上一次提交的状态,索引区和工作空间不变更
可以通过git reset –hard HEAD^n恢复当前分支的版本库、索引区和工作空间至上一次提交的状态

修改提交的历史信息

修改最近一次提交的历史记录,就可以用git commit –amend命令;vim编辑的方式

4个区域(3个本地)

工作区:平时存放项目代码的地方
暂存区:临时存放改动,事实上一个文件,保存即将提交到文件列表信息,一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
仓库区(或本地仓库):安全存放数据的位置,里面有提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
远程仓库:托管代码的服务器,可以简单的认为是你项目组中的一台电脑,用于远程数据交换;

git stash命令

命令git stash是把工作区修改的内容存储在栈区
使用情况
	解决冲突文件时,会先执行git stash,然后解决冲突;
	遇到紧急开发任务但目前任务不能提交时,会先执行git stash,然后进行紧急任务的开发,然后通过git stash pop取出栈区的内容继续开发;
	切换分支时,当前工作空间内容不能提交时,会先执行git stash再进行分支切换;

git add . 和 git add * 区别

git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,但是git add * 会忽略.gitignore把任何文件都加入
	在项目中,并不是所有文件都需要保存到版本库中,例如“target”目录及目录下的文件就可以忽略。在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件或目录。

git add和git commit的区别

git add添加文件,实际上:把修改的文件添加到暂存区;
git commit提交更改,实际上:把暂存区的所有内容提交到当前分支。

git fetch和git pull命令之间的区别

git pull 命令从中央存储库中提取特定分支的新更改或提交,并更新本地存储库中的目标分支
git fetch 也用于相同的目的,但它的工作方式略有不同。当你执行 git fetch 时,它会从所需的分支中提取所有新提交,并将其存储在本地存储库中的新分支中。如果要在目标分支中反映这些更改,必须在 git fetch 之后执行git merge。只有在对目标分支和获取的分支进行合并后才会更新目标分支

HEAD、工作树和索引之间的区别

HEAD文件包含当前分支的引用(指针);
工作树是把当前分支检出到工作空间后形成的目录树,一般的开发工作都会基于工作树进行
索引index文件是对工作树进行代码修改后,通过add命令更新索引文件;GIT系统通过索引index文件生成tree对象

git cherry-pick

命令git cherry-pick可以把branch A的commit复制到branch B上。

把本地仓库的内容推向一个空的远程仓库

git remote add origin XXXX;//XXXX是你的远程仓库地址

代码的review

创建review分支,然后再创建自己的个人分支,当你完成自己的业务逻辑的时候,再合并到review分支.给组长做代码的review
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值