赞
踩
1. 概念
工作区:工作区就是你克隆项目到本地后,项目所在的文件夹目录。
暂存区:用于存储工作区中添加上来的变更(新增、修改、删除)的文件的地方。操作时,使用git add .会将本地所有新增、变更、删除过的文件的情况存入暂存区中。
本地仓库:用于存储本地工作区和暂存区提交上来的变更(新增、修改、删除)过的文件的地方。操作时,使用git commit –m “本次操作描述” 可以将添加到暂存区的修改的文件提交到本地仓库中。
远程仓库:简单来说,就是我们工作过程中,当某一个人的开发工作完毕时,需要将自己开发的功能合并到主项目中去,但因为功能是多人开发,如果不能妥善保管好主项目中存储的代码及文件的话,将会存在丢失等情况出现,所以不能将主项目放到某一个人的本地电脑上,这时就需要有一个地方存储主项目,这个地方就是我们搭建在服务器上的git远程仓库,也就是在功能开始开发前,每个人要下载项目到本地的地方。操作时,使用git push origin 分支名称,将本次仓库存储的当前分支的修改推送至远程仓库中的对应分支中。
2. 工作区、暂存区、本地仓库、远程仓库的关系:
如下的操作,向分支dev-yh-1.0.0添加文件print.txt
执行 git add . 命令把新文件提交到暂存区,然后提交该文件:
[root@centosnode01 hongDemo]# git commit -m '添加新文件'
*** 请告诉我你是谁。
运行
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
来设置您账号的缺省身份标识。
如果仅在本仓库设置身份标识,则省略 --global 参数。
fatal: 无法自动探测邮件地址(得到 'root@centosnode01.(none)')
错误解决方案:
[root@centosnode01 hongDemo]# git config --global user.email "hongyang@163.com"
[root@centosnode01 hongDemo]# git config --global user.name "yanghong001"
执行下面的命令把文件print.txt文件添加到本地仓库中
[root@centosnode01 hongDemo]# git commit -m "添加新文件"
[dev-yh-1.0.0 51b01e9] 添加新文件
1 file changed, 3 insertions(+)
create mode 100644 print.txt
把print.txt推送到远程的dev-yh-1.0.0
[root@centosnode01 hongDemo]# git push origin dev-yh-1.0.0
Username for 'https://github.com': hongyangzpark@163.com
Password for 'https://hongyangzpark@163.com@github.com':
枚举对象: 4, 完成.
对象计数中: 100% (4/4), 完成.
使用 4 个线程进行压缩
压缩对象中: 100% (2/2), 完成.
写入对象中: 100% (3/3), 321 字节 | 321.00 KiB/s, 完成.
总共 3 (差异 0),复用 0 (差异 0)
To https://github.com/honghongyang/hongDemo.git
3574b8a..51b01e9 dev-yh-1.0.0 -> dev-yh-1.0.0
登录远程仓库中的该分支dev-yh-1.0.0已经包括该print.txt文件
此时的master分支无print.txt文件
从上图可以看到,我们如果想将在本地工作区中修改,推送到远程仓库的话,需要将工作区的修改的内容,添加到暂存区,再将暂存区的内容提交到本地仓库,最终将本地仓库的内容推送至远程仓库,才能达到最终想要将本地修改推送到远程仓库的目的。
1. 首先,我们要明确一个概念,什么是分支?
简单来说,就是我们工作过程中,要开发一个系统,这个系统会由若干个功能组成,我们将若干个功能交由多个人进行开发。每个人在开发之前,都会将项目从远程仓库下载到本地,然后才能在本地进行对应功能的代码编写。
此时,每个人就可以看作是一个分支。
每个人在其分支中进行着功能开发,最终开发完毕后,需要将开发的功能代码推送到远程仓库进行代码合并,远程仓库中才能有我们开发的功能。
2. 如何使用
在本地仓库中,可以创建多个分支,在多个分支中进行不同的功能开发,来满足业务需求。
在开发完功能后,为了保证本地仓库推送到远程仓库的功能代码,不会出现将其他人开发的功能代码覆盖的情况,需要在每次使用git push origin 分支名称 命令将当前分支中,在本地仓库改动推送到远程仓库之前,需要先将远程仓库的主干分支master的最新代码拉取到本地当前分支的本地仓库中,再进行推送操作,从而保证最终推送本地仓库代码到远程仓库时,推送的代码是完整的(即包含其他人提交的功能的)。
注意:开发过程中,必须创建自己分支进行功能开发,不允许直接在master分支中进行功能开发、修改、删除等操作。以免误操作或操作出错等情况出现,污染了远程仓库的主干分支master,导致功能代码无法继续使用,也会影响到其他人的使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。