Git是什么
分布式版本控制系统的安全性要高很多,因为每个开发人员电脑里都有完整的版本库,某一个开发人员的电脑坏掉了不要紧,随便从其他开发人员那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有开发人员都没法工作。
Gt是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。
G是Linus Torvalds为了帮助管理 Linux内核开发而开发的一个开放源码的版本控制软件。 Torvalds开始着手开发Gt是为了作为一种过渡方来替代Bitkeeper,后者之前一直是Lnux内核开发人员在全球使用的主要源代码工具。
尽管最初Git的开发是为了辅助Linux内核开发的过程,但是已经发现在很多其他自由软件项目中也使用了Git。
GIT
安装可以到官网下载对应系统的安装包进行安装。然后正常的安装流程即可。
安装后的配置
通过右键即可看到Git Bash Here
,即可打开git bash工具。
通过输入git --version
也可以看到版本号。
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
安装完成后需要设置用户信息,因为Git是分布式版本控制系统,所以每一台电脑注册用户信息(名称和Emai地址)。
值得注意的是, git config命令的 global参数,表示当前这台电脑上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Emai地址。
工作区、暂存区和版本库
-
工作区
当前电脑里能看到的目录
-
暂存区
英文交stage或index。一般存放在
.git
目录下的index文件(.git/index
)中,所以我们把暂存区有时也叫作索引(index) -
版本库
工作区有一个隐藏目录
.git
,这个不算工作区,而是Git的版本库。
Git常见的操作
-
clone
git clone Repo
-
添加到版本库
git add fileName
需要进入到版本库目录才可以使用此命令。
-
将添加的文件提交到版本库
git commit -m 'message' [file Name]
git commit
命令后可以添加文件名称,表示只提交这个文件,但一般不会跟文件名称,表示全部提交。 -
将本地版本库Push到远程库中
git push URL master
-
从远程库更新到本地库
git pull
-
查看上次修改的信息
git status
-
查看执行git status命令结果的详情信息
git diff
git diff
命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。-
查看尚未缓存的改动
git dff
-
查看已缓存的改动
git diff --cached
-
查看已缓存的与未缓存的所有改动
git diff HEAD
-
显示摘要而非整个dif
git diff --stat
-
Git分支管理
每一种版本控制系统都以某种形式支持分支。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。
有人把Git的分支模型称为"必杀技特性",而正是因为它,将Git从版本控制系统家族里区分出来。
-
创建分支
git branch name
如果只输入
git branch
那么将显示当前的分支,有标识的表示当前正在使用的分支。 -
切换分支
git checkout name
-
合并分支
# 切换到主分支 git checkout master # 将某个分支合并到master分支 git merge name
如果两个分支同一文件同一行都发生了修改,那么将不会自动合并分支,而是需要处理冲突。
-
删除分支
git branch -d dev
-
推送分支时,删除多余分支
git push origin --delete branchName
合并分支遇到冲突
可以通过VSCODE中的插件进行快速的合并。合并完成后通过git add
命令告诉git冲突已经解决。