工作区、暂存区、本地仓库、远程仓库
1. 概念
工作区:工作区就是你克隆项目到本地后,项目所在的文件夹目录。
暂存区:用于存储工作区中添加上来的变更(新增、修改、删除)的文件的地方。操作时,使用git add .会将本地所有新增、变更、删除过的文件的情况存入暂存区中。
本地仓库:用于存储本地工作区和暂存区提交上来的变更(新增、修改、删除)过的文件的地方。操作时,使用git commit –m “本次操作描述” 可以将添加到暂存区的修改的文件提交到本地仓库中。
远程仓库:简单来说,就是我们工作过程中,当某一个人的开发工作完毕时,需要将自己开发的功能合并到主项目中去,但因为功能是多人开发,如果不能妥善保管好主项目中存储的代码及文件的话,将会存在丢失等情况出现,所以不能将主项目放到某一个人的本地电脑上,这时就需要有一个地方存储主项目,这个地方就是我们搭建在服务器上的git远程仓库,也就是在功能开始开发前,每个人要下载项目到本地的地方。操作时,使用git push origin 分支名称,将本次仓库存储的当前分支的修改推送至远程仓库中的对应分支中。
2. 工作区、暂存区、本地仓库、远程仓库的关系:
从上图可以看到,我们如果想将在本地工作区中修改,推送到远程仓库的话,需要将工作区的修改的内容,添加到暂存区,再将暂存区的内容提交到本地仓库,最终将本地仓库的内容推送至远程仓库,才能达到最终想要将本地修改推送到远程仓库的目的。
分支
1. 首先,我们要明确一个概念,什么是分支?
简单来说,就是我们工作过程中,要开发一个系统,这个系统会由若干个功能组成,我们将若干个功能交由多个人进行开发。每个人在开发之前,都会将项目从远程仓库下载到本地,然后才能在本地进行对应功能的代码编写。
此时,每个人就可以看作是一个分支。
每个人在其分支中进行着功能开发,最终开发完毕后,需要将开发的功能代码推送到远程仓库进行代码合并,远程仓库中才能有我们开发的功能。
2. 如何使用
在本地仓库中,可以创建多个分支,在多个分支中进行不同的功能开发,来满足业务需求。
在开发完功能后,为了保证本地仓库推送到远程仓库的功能代码,不会出现将其他人开发的功能代码覆盖的情况,需要在每次使用git push origin 分支名称 命令将当前分支中,在本地仓库改动推送到远程仓库之前,需要先将远程仓库的主干分支master的最新代码拉取到本地当前分支的本地仓库中,再进行推送操作,从而保证最终推送本地仓库代码到远程仓库时,推送的代码是完整的(即包含其他人提交的功能的)。
注意:开发过程中,必须创建自己分支进行功能开发,不允许直接在master分支中进行功能开发、修改、删除等操作。以免误操作或操作出错等情况出现,污染了远程仓库的主干分支master,导致功能代码无法继续使用,也会影响到其他人的使用。
如您有其他问题,希望可以通过留言得形式及时交流,有书写错误和可优化的地方也希望及时提出,感谢。