git是什么
简单说来Git是一个开源的分布式版本控制系统,那么什么是分布式呢,就是每个开发者拥有完整的本地仓库副本,包括所有历史记录和分支,可以独立工作,并通过合并来同步变更。
git优点
速度极快
Git在合并、分支、切换等操作上非常快速。
数据完整性
通过SHA-1哈希算法保护代码和历史记录的完整性,确保代码不会在传输过程中损坏。
支持分支和合并
Git支持快速创建和合并分支,方便开发者进行实验和并行开发。
支持离线操作
由于是分布式的,Git可以在没有网络连接的情况下进行大部分操作。
git安装
windows安装
https://git-scm.com/download/win
正常来说,下载速度很慢,所以我也没有去下
linux安装
$ sudo apt install git-all
git --version
如果可以查出版本的话就说明安装成功了
git的三种状态
已修改(modified)
当你修改文件但是未add或者commit,那就是已修改。
已暂存(staged)
当你add之后文件将被暂存,但是还未上传本地库
已提交(commited)
git的基础使用
第一步:初始化姓名与邮箱
初始化姓名
git config --global user.name "username"
初始化邮箱
git config --global user.email "11111@qq.com"
注:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
查看姓名与邮箱
git config user.name
git config user.email
第二步:创建git仓库
git init:初始化一个新的Git仓库。这也是我们在使用git的第一步,可以把这个目录变成git可以管理的仓库。
一般来说在init之后你的这个目录会自动创建一个.git/目录,这个目录是Git来跟踪管理版本的,但是这个目录默认是不显示的,可以用ls -a命令将其显示。
git文件的流动
第三步:更改文件
git add:将更改添加到暂存区,可以用于添加文件。
git add .
/*可以将这个命令用于将当前目录(以及子目录)
中所有未被Git跟踪的新文件(不包括已删除的文件)
添加到暂存区(staging area)。
*/
红色的意思是该文件已经存在git目录,但是未添加到暂存区
第四步:提交文件
git commit:将暂存区的更改提交到本地仓库。
git commit -m “提交信息” 文件名
可以通过git reflog查看已经提过过的日志
也可以通过git log查看完整的日志信息,包含user.name和user.email等信息
git commit -a:提交所有更改
提交之前我们可以查看一下仓库的状态。
git status
第五步:修改
当你在本地修改文件内容,可以用git status查看当前git库的信息,发现有文件被修改但是未暂存。
在这种情况下,你可以用git add暂存,也可以用git commit保存在本地
第六步:回退
Git 切换版本, 底层其实是移动的 HEAD 指针。
用git reset --soft HEAD~1撤销最近的提交,但是不修改工作目录
用git reset --hard HEAD~1撤销最近的提交并重置工作目录
git的分支使用
创建分支
git branch 分支名
git branch socket
切换分支 – git checkout branchname
如果切换成功会显示相关的提示
分支前面的*号表示当前正在使用的分支
合并分支 – git merge branchname
合并成功会显示提示
git远程仓库
git remote -v查看当前所有远程仓库的别名
这里我事先已经添加过了
git remote add 别名 远程地址
用git remote add 别名 远程地址来连接远程仓库
git push 别名 分支
可以用git push 别名 分支来推送本地分支上的内容到远程仓库,这个别名是之前连接远程地址时的别名
git remote remove
删除别名为origin的远程仓库连接
git pull 别名 分支
从linux本地仓库上传到gitte远程仓库
已经设置好了user.name和user.email
git init
git remote add 别名 url
git add.
git commit -a -m “提交”
git branch “branchname”
从gitte远程仓库拉取文件到linux本地仓库
我是在一个之前从未使用过git的ubuntu上进行的,这也符合我电脑的实际状况,git下载我就补再次写了,上面有。
前置操作
如果在之前还未初始化的文件夹中需要此操作
对于我自己的Ubuntu而言我是第一次设置username和useremail
所以初始化这些内容也是必须的
git push 别名 分支名
分支名应是你远程仓库的分支名,
拉取socketAI
拉取8.7
git clone url
git clone 是 Git 版本控制系统的一个命令,用于克隆远程仓库到本地。