目录
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件"还原"。
一、git仓库的相关概念
1、远程仓库( Remote ):
也叫作资源库,是远程机器上的代码库,用于做不同版本库文件交换更新。如Gitlab,GitHub,gitee。
2、本地库( Repository ):
是用户在本地创建的目录,拥有远程库的一个快照,由工作区和版本库构成。
工作区(Workspace):本地库的根目录中除.git目录以外的内容,存储内容的实际文件。
暂存区(stage/Index):也叫做缓存区,暂存信息存放在.git目录"下的index文件(.git/index)中,用于临时保存内容的修改;
版本库(.git目录):是本地库的根目录中的一个隐藏目录.git,用于记录版本信息,Git进行版本控制所需要的文件,则都放在.git文件夹中;
3、分支( Branch ):
本地库中默认创建一个主(master)分支,分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
本地库和远程库的关系
开发人员通过Git命令来管理代码,最常用的6个命令如下图所示:
二、git仓库的工作流程
从一般开发者的角度来看,使用Git的工作流程是:
- 克隆远程库:从远程库上克隆完整的Git仓库(包括代码和版本信息)到本地;
- 在本地库上修改代码:在本地库上根据不同的开发目的,创建分支,修改代码;
- 提交到分支:在本地分支上提交代码;
- 把修改合并到本地主分支:在本地库上提交更新,也就是说,把修改合并到本地主分支;
- 把远程库合并到本地主分支:把远程库上的最新代码fetch下来,跟本地主分支合并,如果存在冲突,那么解决冲突。
- 把本地主分支提交到远程库:生成补丁(patch),把补丁发送给远程库。
三、操作实例(以Gitee为例)
1、建立链接
1、注册gitee
2、建立本地库(创建文件夹,init)
建立远程库()
2、建立链接
git remote add origin https://gitee.com/tingyumian1/test1.git固定的加上自己的远程仓库地址
cat .git/config 检查链接
3、git pull origin master --rebase 拉取gitee远程库上的文件(readme.md)
4、提交测试
创建test1.txt进行测试(第一次需要输入gitee的账号和密码)
git push origin master之后不需要输入-u
成功
第一次输入账户密码后会生成凭证
2、分支查看
git branch -av
修改test1.txt
从分支的详细信息中我们可以看到远程分支的提交版本和master的提交版本不同,本地领先了。
此刻我们把本次修改推送到远程,远程和本地便保持了版本的同步