DevWeekly收集整理每周优质开发者内容,包括开源项目、工具资源、技术文章等方面,每周五首发于DevWeekly,欢迎大家Star并收藏!
Git是一款非常受欢迎,也非常强大的版本管理工具。
但是,它的工作流程相对于SVN等其他版本管理工作也复杂很多,对于刚接触的同学会有很多操作难以理解。
例如,当我们和其他同学进行协同开发时,我们每个人都从远程仓库拉取了一份代码到本地仓库,此时每个人电脑上的本地仓库和远程仓库都是一致的。
但是,随着开发的不断推进,如果其他同事事先已经把修改的代码推送到远程仓库,当我们后面再push时就会发生冲突。
这时候,就需要先把远程代码的最新版本重新拉取一下到本地仓库,这时候,就会用到git pull
和git fetch
。
在这个过程中,很多同学就有点分不清了,都是拉取远程仓库的代码到本地仓库,它们的区别是什么呢?
要想理解它们的工作愿意,首先要对Git仓库有一个清晰的认识。
在我们开发过程中,代码仓库至少会有3个仓库/副本:
- 本地工作目录:也就是我们开发过程中正在编辑的工作目录
- 本地仓库:这一点是很多初学者容易忽略和搞混的,由于git是分布式的,所以每个开发者本地都会有一个本地仓库,当我们通过git commit提交代码时,更改就从本地工作目录提交到了本地仓库
- 远程仓库:这个应该大多数同学都很清楚,顾名思义,就是在远程服务器上存储的仓库,例如Github、Gitlab,当我们使用git push推送代码时,代码就从本地仓库推到了远程仓库
在很多刚接触Git的同学