当前位置:网站首页>【无标题】
【无标题】
2022-08-11 05:29:00 【学编程的北极熊】
一、git教程整理2022.8.1
1. 用户名与邮箱设置
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
git config --global user.name "用户名"
git config --global user.email "邮箱"
2. 简单实例
# 创建目录
mkdir gitStudy
# 进入目录,并初始化,见图①
cd gitStudy
git init
# 创建文件并添加内容
echo 1111 >> a.txt
# 查看添加
cat a.txt
# 上传暂存区
git add a.txt
# 上传仓库
git commit -m "第一次提交"
# 查看上传情况
git status
# 查看上传历史
git log
图①,初始化后生成的.git文件
3. 修改内容并进行比较
# 给a.txt追加内容
echo 222222 >> a.txt
# 检查追加的内容
cat a.txt
# 对比修改位置
git diff a.txt
# 提交到仓库
git add a.txt
git commit -m "第二次提交"
4. 历史版本查看
# 给a.txt追加内容
echo 333333 >> a.txt
# 检查追加的内容
cat a.txt
# 提交仓库
git add a.txt
git commit -m '第三次提交'
# 历史版本查看
git log
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7IYpTqV-1659664390369)(D:\1.2021年书籍清单\git_study\git-study\README.assets\image-20220801145652186.png)]
# 简略版本历史查看
git log --pretty=oneline
查看历史版本
git log
,输入q
退出历史版本
5. 历史版本回退
- 回退到上一个版本
git reset --hard HEAD^
- 回退到上上一个版本
git reset --hard HEAD^^
- 回退到前100个版本
git reset --hard HEAD~100
- 回退到指定版本
git reset --hard 版本号
- 退回到前几个版本,想要回到最新版本
git reflog
git reset -hard 版本号
6. 删除历史记录
# 查看历史记录
git log --pretty=oneline
# 选择要删除记录的“前一个”版本
git rebase -i 版本号
# 将pick修改drop保存
7. Git撤销修改和删除文件操作
在
未git add前
如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。在
git commit后
可采用git reset --hard HEAD^
恢复到上一个版本在
未git add前
修改文件,我们可以使用git checkout -- 文件名
,撤销修改
echo 555555 >> a.txt
git add .
git status
- 案例:新增一个b.txt文件,添加到工作区
echo bbbbbb >> b.txt
git add b.txt
git commit -m '提交b文件'
- 删除b文件,在没有
git add
前如果想要恢复可采用git checkout -- b.txt
rm b.txt
git stauts
# 恢复b.txt文件
git checkout -- b.txt
8. 远程仓库
- 以ssh方式上传
ssh-keygen -t rsa -C "邮箱"
设置本地rsa
- 本地存储位置为:
C:\Users\xxxx\.ssh
- 出现两个文件
- id_ras 私钥(不要告诉他人)
- id_rsa.pub 公钥,用于填入github
- 本地存储位置为:
将本地rsa公钥加入到github
- 打开github,点击右上角
头像
,选择settings
- 根据打开的界面,选择左下角的
SSH and GPG keys
- 选择
New SSH key
,将公钥id_rsa.pub
填入
- 打开github,点击右上角
创建远程仓库
- 打开github,点击右上角
头像旁边的+
,选择New repository
- 填入
Repository name
,点击下方Create repository
- 打开github,点击右上角
上传文件
# 初次提交
touch README.md
git init
git add README.md
git commit -m 'first commit'
git remote add origin HTTP的地址
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,==加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,==在以后的推送或者拉取时就可以简化命令为git push
- 下载文件
git clone HTTP地址
9. 创建与合并分支
- 创建并切换分支
git checkout -b 分支名
# 如果不加-b,则只创建分支
git checkout 分支名
- 查看分支
git branch
- 合并分支
# 创建分支
git checkout -b dev
# 新增内容
echo aaaaa a.txt
# 提交到工作区
git add a.txt
git commit -m '提交a.txt文件'
# 切换至master分支,发现a.txt没有变化
# 合并
git merge dev
# 查看a.txt发现已经变化
cat a.txt
10. 删除分支
- Fast forward模式合并后,如果删除分支,会丢掉分支信息
# Fast forward模式合并
git merge dev
git branch -b dev
- 带参数合并,如果删除会保留分支记录
git mege --no-ff -m '删除dev' dev
# 查看
git log --graph --pretty=oneline --abbrev-commit
边栏推荐
猜你喜欢
Event Preview | On April 23, a number of wonderful sharing sessions of OpenMLDB will come, which will live up to the good time of the weekend
Open Source Machine Learning Database OpenMLDB Contributor Program Fully Launched
智能风控中台设计与落地
MSP430学习总结——时钟UCS
js 学习进阶(事件高级 pink老师教学笔记)
gerrit 配置SSH Key和账号、邮箱信息
Visual studio2019 configuration uses pthread
Day 84
Day 75
实时特征计算平台架构方法论和基于 OpenMLDB 的实践
随机推荐
stack stack
Tinker接入全流程---配置篇
ARM 汇编指令 ADR 与 LDR 使用
Day 68
Error: Flash Download failed - “Cortex-M4“-STM32F4
Day 85
论文解读TransFG: A Transformer Architecture for Fine-grained Recognition
MSP430学习总结——时钟UCS
Some formulas for system performance and concurrency
场景驱动的特征计算方式OpenMLDB,高效实现“现算先用”
Day 83
OpenMLDB Pulsar Connector:高效打通实时数据到特征工程
CKEditor富文本编辑器工具栏自定义笔记
mysql基础总结
JVM tuning and finishing
js写四位随机数能有多少种可能性?并列出所有可能性
编译异常解决
vscode插件开发——懒人专用markdown插件开发
STM32-串口常用寄存器和库函数及配置串口步骤
字节(byte)和位(bit)