当前位置:网站首页>【无标题】
【无标题】
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
边栏推荐
- Use c language to implement tic-tac-toe chess (with source code, you can run it directly)
- JS case exercise (classic case of teacher pink)
- Tinker的自我介绍
- Day 86
- OpenMLDB官网升级,神秘贡献者地图带你快速进阶
- Js method commonly used objects and attributes
- 活动预告 | 4月23日,多场OpenMLDB精彩分享来袭,不负周末好时光
- Argparse模块 学习
- 关于openlayer中swipe位置偏移的问题
- gerrit 配置SSH Key和账号、邮箱信息
猜你喜欢

js学习进阶BOM部分(pink老师笔记)

场景驱动的特征计算方式OpenMLDB,高效实现“现算先用”

Building a data ecology for feature engineering - Embrace the open source ecology, OpenMLDB fully opens up the MLOps ecological tool chain

gerrit 配置SSH Key和账号、邮箱信息

开源机器学习数据库OpenMLDB贡献者计划全面启动

ARM 汇编指令 ADR 与 LDR 使用

The third phase of the contributor task is wonderful

智能风控中台设计与落地

MSP430学习总结——时钟UCS

ARM assembly instruction ADR and LDR
随机推荐
Promise.race学习(判断多个promise对象执行最快的一个)
Day 70
Some formulas for system performance and concurrency
Typescript学习日记,typescript从基础到进阶(第一章)
OpenMLDB + Jupyter Notebook:快速搭建机器学习应用
贡献者任务第三期精彩来袭
OpenMLDB Pulsar Connector:高效打通实时数据到特征工程
Intelligent risk control China design and fall to the ground
Promise 中状态改变和回调执行先后顺序 和promise多次回调
OpenMLDB + Jupyter Notebook: Quickly Build Machine Learning Applications
微信小程序_开发工具的安装
Argparse模块 学习
Compilation exception resolution
Here is a memorial
js常用方法对象及属性
jdbc接口文档参考,jdbc接口方法逻辑探究
构建面向特征工程的数据生态 ——拥抱开源生态,OpenMLDB全面打通MLOps生态工具链
js 学习进阶(Dom部分 pink老师教学笔记)
Day 82
JNI入门