您的位置:首页 > 其它

Git使用手册/Git教程:Git的使用:工作区、暂存区、本地仓库、远程仓库

2017-11-27 14:47 447 查看

相关文章:

关于验证是否存在ssh配置以及生成SSH Key的方法可以参照文章:Git使用手册:生成SSH Key
关于SSH Key的使用和公钥在gitHub、gitLab的配置等,请参考文章:Git使用手册:使用SSH Key及配置SSH key公钥关于GIT 从远程仓库下载项目到本地工作区的操作,请参考文章:Git使用手册:git clone 克隆下载远程仓库项目工程到本地工作区关于GIT 分支使用详解,请参考文章:Git使用手册:git branch 分支操作、创建分支、查看分支、删除分支、删除本地分支、删除远程分支关于GIT Checkout的使用,请参考文章:Git使用手册:git checkout 创建分支、切换分支关于Git status命令使用解读,请参考文章:Git使用手册:git status 查看本地工作区、暂存区中文件的修改状态关于Git diff和Git add命令使用,请参考文章:Git使用手册:git diff 、 git add 、 git diff --cached 命令详解关于Git commit命令使用详解,请参考文章:Git使用手册:git commit -m/-am/-a -m 提交文件至本地仓库区关于Git fetch命令使用,请参考文章:Git使用手册:git fetch 将远程仓库的分支及分支最新版本代码拉取到本地关于Git pull命令使用,请参考文章:Git使用手册:git pull origin 拉取代码到本地,解决拉取代码时发生的文件冲突关于Git push命令使用,请参考文章:Git使用手册:git push 推送提交本地仓库代码文件到远程仓库关于Git log命令使用,请参考文章:Git使用手册/Git教程:git log 查看git提交日志记录

工作区、暂存区、本地仓库、远程仓库

1.   概念
工作区:工作区就是你克隆项目到本地后,项目所在的文件夹目录。
暂存区:用于存储工作区中添加上来的变更(新增、修改、删除)的文件的地方。操作时,使用git add .会将本地所有新增、变更、删除过的文件的情况存入暂存区中。
本地仓库:用于存储本地工作区和暂存区提交上来的变更(新增、修改、删除)过的文件的地方。操作时,使用git commit –m “本次操作描述” 可以将添加到暂存区的修改的文件提交到本地仓库中。
远程仓库:简单来说,就是我们工作过程中,当某一个人的开发工作完毕时,需要将自己开发的功能合并到主项目中去,但因为功能是多人开发,如果不能妥善保管好主项目中存储的代码及文件的话,将会存在丢失等情况出现,所以不能将主项目放到某一个人的本地电脑上,这时就需要有一个地方存储主项目,这个地方就是我们搭建在服务器上的
4000
git远程仓库,也就是在功能开始开发前,每个人要下载项目到本地的地方。操作时,使用git push origin 分支名称,将本次仓库存储的当前分支的修改推送至远程仓库中的对应分支中。
2.   工作区、暂存区、本地仓库、远程仓库的关系:



从上图可以看到,我们如果想将在本地工作区中修改,推送到远程仓库的话,需要将工作区的修改的内容,添加到暂存区,再将暂存区的内容提交到本地仓库,最终将本地仓库的内容推送至远程仓库,才能达到最终想要将本地修改推送到远程仓库的目的。

分支

1.   首先,我们要明确一个概念,什么是分支?
简单来说,就是我们工作过程中,要开发一个系统,这个系统会由若干个功能组成,我们将若干个功能交由多个人进行开发。每个人在开发之前,都会将项目从远程仓库下载到本地,然后才能在本地进行对应功能的代码编写。
此时,每个人就可以看作是一个分支。
每个人在其分支中进行着功能开发,最终开发完毕后,需要将开发的功能代码推送到远程仓库进行代码合并,远程仓库中才能有我们开发的功能。
2.   如何使用
在本地仓库中,可以创建多个分支,在多个分支中进行不同的功能开发,来满足业务需求。
在开发完功能后,为了保证本地仓库推送到远程仓库的功能代码,不会出现将其他人开发的功能代码覆盖的情况,需要在每次使用git push origin 分支名称 命令将当前分支中,在本地仓库改动推送到远程仓库之前,需要先将远程仓库的主干分支master的最新代码拉取到本地当前分支的本地仓库中,再进行推送操作,从而保证最终推送本地仓库代码到远程仓库时,推送的代码是完整的(即包含其他人提交的功能的)。
注意:开发过程中,必须创建自己分支进行功能开发,不允许直接在master分支中进行功能开发、修改、删除等操作。以免误操作或操作出错等情况出现,污染了远程仓库的主干分支master,导致功能代码无法继续使用,也会影响到其他人的使用。

如您有其他问题,希望可以通过留言得形式及时交流,有书写错误和可优化的地方也希望及时提出,感谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息