一、Git的安装
git安装地址:https://git-scm.com/download/win
然后用$git --version 查看安装git版本
二、什么是Git版本控制系统
版本控制是一种记录一个或者多个若干文件内容变化以便将来查阅特定版本情况的系统
三、为什么要使用版本控制系统
软件开发中采用版本控制系统是一个明智的选择有了它你就可以讲某个文件回溯到之前的状态,甚至将整个项目都回退到过去的某个时间点的状态
四、版本控制分为两种
1)一种是集中式svn:
优点:这中方式可以使每个人都可以在一定程度上看到项目中的其他人正在做什么,便于项目的管理。管理员可以轻松张默控制开发者的权限
缺点:中央服务器的单点故障如果服务器故障一小时那么一小时内谁都无法提交更新也就无法协同写作,若是中央服务器磁盘故障碰巧你没有备份就会丢失数据的风险,最坏的风险就是从彻底丢失历史更改记录
2)一种是分布式git:
客户端并不是只提取最新的文件快照,而是把代码仓库完整的镜像下来,这样任何一处协同工作用的服务器发生故障都可以用任意一个镜像出来的本地仓库恢复,因为每一次操作都对的代码仓库的完整备份
分布式版本系统在管理项目时存放的不是项目版本与版本之间的差异它是存在索引所需磁盘空间小。断网情况下也可以进行开发,使用github每个客户端保持的都是完整的项目。
五、git初始化配置
配置个人用户信息:
--system 文件系统中所有用户都普遍适用这个配置
--global 用户目录下配置文件只适用于该用户
--config 是当前项目的git目录中的配置文件
每一个级别的配置都会覆盖上层的相同配置
git每次提交都会引用以下更新说明谁提交了更新所以会更新内容一起被纳入历史记录
$ git config --global user.name "用户名" 提交用户名称
$ git config --global user.email 用户名@邮箱 提交个人邮箱
git config --list 查看当前配置信息
六、基础linux命令
clear:清除屏幕
echo‘test content’:往控制台输出信息
ll:当前目录下的子文件&子目录铺在控制台
find:将对应的目录的子孙文件平铺在控制台
find 目录名 -fypef:将对应目录下的文件平铺在控制台
rm :删除文件
mv : 重命名文件
cat 文件的url:查看对应文件的内容
vim 文件的url
按i进入模式 进行文件编辑
按esc键或者按:键 进行命令 的执行
q! 强制退出不保存
wq 保存退出
set nu设置行号
七、git命令
git status 可以查看当前工作区的文件:在提交之前先使用查看一下要提交的文件
文件为红色则是在工作区
文件是绿色则是在暂存区准备被提交
git status -u
no 只显示以及跟踪的文件
normal 显示没有被跟踪的文件和文件夹
all 未被跟踪的文件夹内文件独立显示
git add 可以把文件添加到暂存区 提交文件要先通过暂存区 不加文件加一个点可以直接把文件全部放入暂存区
git rm 把文件删除
git mv 把文件重命名或者删除
git rm --cach 文件 把文件从暂存区拉取出来
git commit -m '文件名' 提交文件
rm -rf 目录 删除当前库
git log 可以看到提交
git reset --hard 将暂存区和git的版本库对其可以找回被删除的文件
git remote add origin 网址 告诉git远端服务器的位置
git remote -v可以显示是哪里的
git push orgin HEAD:远端分支
ssh-keygen -t rsa -c "2628295459@qq.com"
ls ~/.ssh 查看私钥或者公钥 id_rsa是私钥 id_rsa.pub 是公钥
vi ~/.ssh/id_rsa.pub 查看公钥的信息
git clone 克隆链接 可以从远程克隆或者恢复到本地
mkdir 新建文件夹
git config --get user.name 获取当前配置名
git add . 把所有文件都拉入暂存区
git add -u 把托管的文件添加到暂存区
git add -i 交互式添加文件到暂存区一问一答式
git commit 提交一般直接使用
git commit -m -msg 一般在处理脚本时使用
git commit -a -m 文件 不会提示提交说明
git grep -n 文件 在工作区查找文件不会去查找被托管的文件
git grep --untracked -n content 文件查找
git log -G 在历史修改中查找
八、git分支
git branch 查看分支
git branch -avv 显示分支的详细信息 v表示显示分支的详细内容 a表示显示全部 分支
git branch 分支名字 新建一个分支
git branch -D 删除一个分支 不能删除当前所在的分支
git checkout 分支 到一个分支上
git checkout -b 分支名字 直接新建并跳转到一个分支上
git push orgin HEAD:分支名字 在服务器上建立分支
git push orgin : 分支名字 把服务器上的分支进行删除
git rebase 重新提交分支