Git版本开发工具 | 青训营

106 阅读2分钟

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