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