当前位置:网站首页>【无标题】
【无标题】
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
边栏推荐
- 开源之夏 2022 火热来袭 | 欢迎报名 OpenMLDB 社区项目~
- 第四范式OpenMLDB优化创新论文被国际数据库顶会VLDB录用
- JS advanced web page special effects (pink teacher notes)
- 哥德巴赫猜想与整数环
- OpenMLDB + Jupyter Notebook:快速搭建机器学习应用
- stack stack
- vscode插件开发——代码提示、代码补全、代码分析
- 2021-09-11 C language variables and memory allocation
- Vscode remote connection server terminal zsh+Oh-my-zsh + Powerlevel10 + Autosuggestions + Autojump + Syntax-highlighting
- 关于if(x)和while(x)的解释
猜你喜欢
JVM tuning and finishing
STM32F407-浅~~析UART异步通信&USART_Init函数入口参数
开源机器学习数据库OpenMLDB贡献者计划全面启动
活动预告 | 4月23日,多场OpenMLDB精彩分享来袭,不负周末好时光
贡献者任务第三期精彩来袭
论文解读:GAN与检测网络多任务/SOD-MTGAN: Small Object Detection via Multi-Task Generative Adversarial Network
Fourth Paradigm OpenMLDB optimization innovation paper was accepted by VLDB, the top international database association
openlayer中实现截图框截图的功能
Vscode远程连接服务器终端zsh+Oh-my-zsh + Powerlevel10 + Autosuggestions + Autojump + Syntax-highlighting
ActiveReports报表分类之页面报表
随机推荐
USB URB
Simple mine sweeping in C language (with source code)
Day 80
Day 75
SearchGuard configuration
Certificate of SearchGuard configuration
Day 72
STM32-中断优先级管理NVIC
C语言中switch的嵌套
[Meetup Preview] OpenMLDB+OneFlow: Link feature engineering to model training to accelerate machine learning model development
Wonderful linkage | OpenMLDB Pulsar Connector principle and practical operation
批量快速修改代码的正则表达式替换
OpenMLDB Pulsar Connector:高效打通实时数据到特征工程
IIC 和 SPI
【Meetup预告】OpenMLDB+OneFlow:链接特征工程到模型训练,加速机器学习模型开发
使用adb命令管理应用
CKEditor富文本编辑器工具栏自定义笔记
第四范式OpenMLDB优化创新论文被国际数据库顶会VLDB录用
JVM tuning and finishing
开源之夏 2022 火热来袭 | 欢迎报名 OpenMLDB 社区项目~