Git
基本概念
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库。方便用户可以进行协同工作,同时提供github,gitee等开源网站的仓库提交和克隆。
- 工作区: 就是你在电脑里能看到的目录。
- 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
- 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
- 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
- 当执行 git reset 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,方便进行版本间的转换。
- 当执行git checkout时进行分支的转换
创建仓库
Git可以采用init的方式进行初始化仓库的操作也可以进行clone的方式直接从远程仓库进行克隆。
注意init操作只是本地仓库的创建不会包含对于远程仓库的关联,因此当前更多使用的是远程仓库克隆的方式进行本地仓库的创建。
git init newrepo
git clone url//当前远程仓库的地址
之后进行
git add *
git commit -m '初始化项目版本'
通过add操作将工作区的文件提交到暂存区,然后通过commit的指令提交到本地仓库当中
此时可以通过git status来查看当前状态信息
远程仓库
git remote add url
进行添加远程仓库操作
使用remote指令来查看当前仓库 remote -r 和 remote -a
git push origin master
git pull origin master
上传远程代码并合并 git push
下载远程代码并合并 git pull
协同开发
几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。
使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
创建分支命令:
git branch (branchname)
切换分支命令:
git checkout (branchname)
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
合并分支命令:
git merge