简介
git 是一个开源的分布式版本控制
系统,用于敏捷高效地处理任何或小或大的项目。
最初是 Linus 为了管理 Linux 内核开发而开发的一个开源的版本控制软件。
版本控制
- 版本管理
保存项目的每一个版本信息时,不存重复的数据,节约内存 - 分支管理
团队开发中,多条生产线同时推进,提高效率 - 权限控制
对团队中开发者进行权限控制,对团队外贡献的代码进行审核 - 历史记录
查看修改人、日志信息等;将本地文件恢复到某一历史版本
版本控制分类
集中式:svn,各个版本存于服务器,易单点故障
分布式:git,能有效解决单点故障,C语言开发
git安装
git 支持 32 位和 64 位,需要根据你操作系统的实际情况选择。
git版本
这里我们下载
git-2.30.0-64-bit.exe
然后安装到windows即可
其他默认!!使用时右键–git bash here
git操作
使用git管理项目
- 创建一个项目,在项目目录下,初始化git仓库
git init
然后会在项目目录下生成一个隐藏文件夹.git,内部的文件不能随意修改。
-
设置签名
用户名:laufing
Email:xxxx@qq.com
作用:区别不同的开发人员
命令:
项目级别—当前项目
git config user.name laufing
git config user.email xxxx@qq.com
签名保存在项目目录下.git/config
系统用户级别—登录操作系统的用户
git config - -global user.name laufing
git config - -global user.email xxxx@qq.com
签名保存在~/.gitconfig
二者的优先级:就近原则 -
实际操作
git status #查看当前工作区、暂存区状态
#所有文件增加到暂存区,也可指定一个文件
git add .
#从暂存区移除所有-
git rm --cached -r ./*
#暂存区提交到本地仓库
git commit -m "描述信息"
#查看历史记录
git log
如下,可以看到提交的人、提交时间、提交描述、每次提交的索引hash值,HEAD是一个指针,指向当前版本。
若内容太多,需翻页:空格向下、b向上、q退出
#格式化输出版本
git log --pretty=oneline
git log --oneline
git reflog
- 版本切换
1)使用索引
2)使用^,后退一步
3)使用~,后退n步
#随意切换
git reflog
git reset --hard 复制的索引
#后退的切换
git reset --hard HEAD^ #后退一步
git reset --hard HEAD^^ #后退两步
#后退n步
git reset --hard HEAD~100 #后退100步
- hard、soft、mixed
#查看本地文档
git help reset
#reset的三个参数 index file[暂存区] working tree[工作区]
#reset --soft:仅在本地仓库移动HEAD指针
#reset --mixed:本地仓库移动指针;重置暂存区;
#reset --hard:本地仓库移动指针;重置暂存区;重置工作区
#hard使用较多
- 删除文件,并找回
文件存在时的状态,需提交到本地库
#删除
rm test.txt #在git管理的项目目录下
#将删除操作,增加到暂存区
git add .
#提交本地仓库
git commit -m "测试删除"
#查看文件,已删除
#恢复只需回到上一个版本,就可以实现文件的恢复
git reset --hard 索引
#如果删除操作,只增加到暂存区,没有提交到本地库
#则简单恢复如下
git reset --hard HEAD
代码托管平台
代码推送到远程托管平台
- 查看远程仓库
git remote -v
#添加远程仓库
git remote add origin url # url为复制的远程仓库https地址
- 推送代码
git push origin master
git push origin master --force #强制推送
对于超时问题,就多尝试几次:
fatal: unable to access 'https://github.com/wn15239159680/vue_lauf1.git/':
Failed to connect to github.com port 443 after 21097 ms: Timed out
当远程仓库发生改变时,应该先拉取远程仓库。
git pull origin master # 拉取远程仓库
项目的分支
#查看分支
git branch
#创建分支
git branch b1
#切换到b1分支
git switch b1
#将b1分支合并到master
git switch master
git merge b1
总结
以上就是今天要讲的内容,本文仅仅简单介绍了git的使用,而git还有更多的使用方法,有兴趣的同学们还可以问下度娘哦!