一、git的命令
git clone,git push,git add,git commit,git reset
二、npm和yarn有哪些不一样的地方?
三、如何迁移仓库,同时保留原有的提交记录和分支?
git clone 仓库地址
cd 项目
git push --mirror 新的仓库地址
四、说说git发生冲突的场景?如何解决?
具体情况是多分支修改了同一个文件或者多个分支修改了同一文件的名称,在具体命令中,push,pull stash和rebase.都有可能产生冲突,从本质上来讲,是merge和patch时产生冲突。
通过git status客厅告知我们冲突的文件,然后进入具体文件看保留那一份代码,进一步解决冲突。然后再add和commit。
五、git reset和git revert的理解和区别?
reset用于回退版本,可以遗弃不再使用的提交。
revert在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化,不会改变过去的历史,主要用于安全的取消过去发布的提交。用于撤销某次操作。
区别:
1.git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit.
2.git reset是把HEAD向后移动了一下,而git revert是HEAD继续前进。
3.如果回退分支的代码以后还需要的情况则使用git revert,如果分支是提错了没用的并且不想让别人发现这些错误代码用git reset。
六、git merge和git rebase的理解和区别
都是将一个分支的提交合并到另一分支上,但是原理上不相同。
git merge 某分支,是将当前分支合并到某分支。合并分支会新增一个merge commit,
git rebase -i commit 是将当前分支移植到指定分支或指定commit上。会将整个分支移动到另一分支上,有效地整合了所有分支上的提交,主要的好处就是历史记录更加清晰。
七、