Git概念:Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。linus两周完成架构,两个月开始正式使用。因为是为了管理linux系统所以git都是linux命令的使用,也可以用vim编辑器
git功能
- 协同修改
- 数据备份
- 版本管理、 管理快照
- 权限控制
- 历史记录
- 分支管理
Git优势
- 大部分操作在本地完成,不需要联网
- 完整性保证
- 尽可能添加数据,而不是删除或修改
- 分支操纵非常快捷流畅
- 与linux命令全面兼容
Git原理和流程
1、安装
结构介绍,git在目录文件夹中都会产生一个.git的文件目录,里面都是存放着的git所有配置, 这里配置最好不要去动
2、签名、授权
//使用git生成秘钥
ssh-keygen -t ed25519 -C "ifmiss@dingtalk.com"
c/Users/Tony/.ssh/id_ed25519.pub.
// 查看公钥
cat ~/.ssh/id_ed25519.pub.
3、 常用命令和使用git 提交本地数据至远程仓库
1、git init 初始化本地一个空厂库或者 git clone 克隆一个远程仓库
git init
git clone http://xxx/xxx.git
2、git pull 将远程仓库的文件同步到本地仓库
3、git status 查看文件状态、修改状态,新增的文件
4、git add file / git add . 将文件添加到缓冲区
5、git commit -m ' 注释 ' 将缓冲区的代码同步到本地创库
6、git push 将本地仓库代码同步到远程仓库
4、Git用户命令
git config 查看所有配置命令
5、设置git commit时代码的作者
方式一:使用命令方式
git config --global user.name 'huguagnjun'
git config --global user.email 'xxx@163.com'
方式二:使用GUI方式:git gui here >>edit>>options>>设置即可
场景1:将本地仓库中的文件全部删除,然后从仓库中从新拉取最新文件
使用git pull 提示:Already up to date
原因:当前本地库处于另一个分支中,需将本分支发Head重置至master
git checkout master
git reset -hard
git 强行pull并覆盖本地文件
git fetch -- all
git reset --hard origin/master
git pull
场景2、处理git 对话框乱码问题
- git config --global core.quotepath false
场景3、切换分支
- git checkout master 切换到master分支
- git branch 查看当前的分支
场景4、commit提交后需要撤回
-
git reset --soft HEAD^
-
git reset --hard HEAD~1 //删除工作空间改动代码,撤销commit,撤销git add注意完成这个操作后,就恢复到了上一次的commit状态。 1代表回到1版本状态,2代表回到2的状态
-
git log可以查看版本, 然后可以回滚到指定的版本
场景5、切换分支
- git checkout -b release-v1.0.0
- git git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字 将本地分支与远程分支建立关系
场景6、git push 报错问题处理
- git pull --rebase origin master 执行此命令然后再push
场景7、还原某个时间的分支
- git log
commit e59a94c6d62833ec1cce222532ce26552fcf0a31
Merge: f96e129 527e72c
Author: 曹杰 <caojie4260@dingtalk.com>
Date: Sat Aug 1 16:30:50 2020 +0800
Merge branch 'develop' into 'master'
refactor: 首页和待办菜单布局结构和样式调整。
See merge request lzlj/front-end/app!123
commit 527e72c6a5f91566f682aba75ff693a45f8790c7
Author: caojie <smart_xiao_jie@foxmail.com>
Date: Sat Aug 1 16:27:24 2020 +0800
refactor: 首页和待办菜单布局结构和样式调整。
- git 还原某个时间点
git reset --hard 527e72c6a5f91566f682aba75ff693a45f8790c7
Git 小乌龟的安装
- 下载地址:https://tortoisegit.org/download/
- 安装小乌龟
- 处理小乌龟图标不能显示问问题: 一般都是注册表中问题,注册表调整顺序
持续更新中。。。