廖雪峰Git教程学习

ppgo8 于 2023-09-24 发布

廖雪峰Git教程学习

之前简单学习了Git,因此现在进行系统的学习并完成笔记。

笔记的顺序按照个人习惯进行了调整,并非完全按照廖雪峰老师的顺序。

创建版本库

时光机穿梭

基本命令

工作区和暂存区

撤销修改(工作区和暂存区)


总结:不同场景的撤销修改

版本回退(commit回退)

删除文件

如果删除错误,可以使用git checkout -- filename撤销删除

上述两个场景中,在未commit之前可以使用git checkout -- filename 撤销删除工作区文件

远程仓库

本地仓库和远程库关联

从已有远程库克隆

分支管理

创建分支

合并分支merge

merge原理

merge采用递归三路合并算法对比不同文件之间的差异。三路合并算法的基本原理是:找到两个merge文件的共同祖先,然后比较三者差异,最后将这些差异合并到一个新的提交中。

Dec-29-2020 22-40-46

具体来说:

git merge --no-ff 待合并分支,建议使用这个命令合并分支让合并路径更加简洁。

多人协作

fetch

pull

为什么每次push前都要pul一下?

  • 可以在本地提前解决可能出现的冲突,从而减少远端接受push出现冲突的概率。

  • 其实如果有冲突,push操作是过不去的,会强制先pull先在本地操作。

参考文章

廖雪峰官方网站的Git教程

Github网友整理的廖雪峰Git教程pdf版

深入理解 git 合并操作

git merge 命令详解

手把手教你用Git——详解git merge

git fetch & pull详解

git pull与git fetch及git merge与git rebase的区别