git 从入门到退休
git 从入门到退休
- 安装
- 软件下载
- git 配置
- 仓库
- 基础指令
- 日志 - 提交历史
- 版本回退
- 撤销修改
- 分支
- 创建-切换
- 合并-删除
- 冲突-解决
- 远程仓库
- 设置ssh-key
- 关联远程仓库
- push
- pull
- clone
- fetch
- 标签
- 打标签
- 查看标签
- 删除标签
- 共享标签
安装
软件下载
略
git 配置
git 在安装的时候,已经把环境变量配置到path 中了。
但是我们使用git 的时候,需要配置用户民和邮箱
git config --global user.email "you@example.com"
git config --global user.name "Your Name"# 配置完了,可以查看信息
git config -l
仓库
将一个项目的根目录
,作为仓库,仓库里的每个文件修改都有日志记录
基础指令
- 创建版本仓库
git init
生成.git
目录,保存仓库的所有内容 - 新增文件
git add xx.txt
# 添加一个
git add xx.txt xx2.txt
# 添加多个
git add abc
# 添加目录
git add .
# 添加库目录中所有文件 - 提交文件
git commit -m 'test'
# 【-m 后是对本次提交的描述】【提交添加的所有文件】
git commit xx.txt xx2.txt -m 'test'
# 提交某些文件
git commit -a -m "test"
# 自动add 并 commit 所有已跟踪并修改或删除的文件 - 文件状态
git status
# 在提交后,如果有文件改动,可以看到 - 文件改动
git diff xx.txt
# 查看该文件的改动情况(比对工作区和暂存区,若暂存区没有,比分支)
git diff head – xx.txt # 比对工作区和分支
git diff --staged xx.txt # 对比暂存和分支
日志 - 提交历史
git log
# 显示全部日志
git log --oneline
# 简洁日志显示
git log --oneline -2
# 显示最近两次日志
git log --oneline --graph
# 图形化显示
注意:此时q
可以退出日志
版本回退
git reset --hard head~
# 回退到上个版本
git reset --hard head~~
# 回退到上上个版本
git reset --hard head~5
# 回退到前5个版本
git reset --hard rewi34ooe...
# 回退到commit ID 那个版本
注意:
- 当回退版本时,git log 只能看到最早提交到 当前点提交的日志,git reflog 可以查看到全部日志。
- git add 的文件,也可以通过 git reset 回退
撤销修改
当我们文件中写了一些垃圾话的时候,可以直接用命令回退到之前保存的那个状态
- 工作区撤销
git checkout – xx.txt - 暂存区撤销
git reset head xx.txt
git checkout – xx.txt - 已提交撤销
git checkout – xx.txt # 但是工作区还是存在,所以还是直接回退版本或该文件和上个版本比对
分支
创建-切换
git branch new_branch
# 创建分支,会和当前分支保持同样的数据状态
git checkout new_branch
# 切换分支,工作区中显示当前分支的内容
git branch
# 查看当前分支
git branch -vv
# 查看分支详细信息(分支信息,所跟踪的远程分支信息,是否领先远程分支等)
合并-删除
git branch master
# 切换到主分支
git merge one_branch
# 主分支合并某一分支(任何分支都可以合并其他分支)
git branch -d newBr
# 删除分支
冲突-解决
取舍的话,取决于实际代码。
然后再 git add .
和 git commit -m ""
git merge --abort
# 中止合并,发生冲突可以选择撤销本次合并
git merge newBr -Xignore-all-space
# 避免因为空白导致冲突
远程仓库
设置ssh-key
ssh-keygen -t rsa -C "你的git登录邮箱"
C:\Users\用户民\.ssh\id_rsa.pub
存放着你的公钥- 在git 服务器上配置ssh
关联远程仓库
将本地git 库 和 远程github库建立关联,可以方便本地库和远程库pull和push
注意:当你是空文件夹时,需要git init
才可以关联
- 关联远程库
git remote add origin 库地址
# origin 是别民,可以取别的 - 查看关联的所有远程库
git remote -v
git remote show origin
# 关联远程库,本地分支和远程分支的对应关系。
git remote remove origin
# 删除关联
git remote remove origin origin2
# 重命名
push
将本地master 分支的内容上传到 关联的远程仓库
git push origin master
# 上传到master分支
git push origin dev:dev
# 将本地分支dev 上传到远程服务器的dev分支上
git push origin dev:dev dev2:dev2
# 可以一次上传多个
pull
拉取远程的新内容,并合并到当前分支
git pull origin master:master
git pull origin master
# 缺省写法
clone
下载远程仓库中的内容,注意clone操作会自动搭建关联
git clone 库名
fetch
从远程仓库拉取新的分支(这个之前不规范,导致拉取代码的时候,把自己原本分支上的)
git fetch origin 库名
git checkout 库名
或者直接使用(效果一样)
git checkout -b 库名
标签
在众多的提交中,总有一些提交尤为重要,比如重大的bug解决,我们可以为此打上标签
打标签
- 创建标签
git tag v1.0.0
- 创建附注标签
git tang -a v1.1.1 -m "说明文字"
- 给历史文件打标签
git tag [-a] v1.1.1 "commitID"
查看标签
- 查看所有标签
git tag
- 查找以 v1.1 开头的标签
git tag -l "v1.1*"
标签主要用于发布打包
- 检出提交点 (通过提交点检出,不受任何分支受限)
git checkout v1.0
删除标签
- 删除标签
git tag -d v1.0
- 删除远程仓库的指令
git push origin :refs/tags/v1.1
共享标签
- 同步一个标签到git服务器
git push origin v1.1.1
- 共想所有的标签
git push origin --tags
git 从入门到退休相关推荐
- Git高速入门——Git安装、创建版本号库以及经常使用命令
Git高速入门--Git安装.创建版本号库以及经常使用命令 学习Git最全面的资料,在我看来是这本书-- Pro Git,网上关于Git的教程有非常多,包含当中一些非常优秀的教程.这一系列的博客,主要 ...
- 30分钟git命令入门到放弃
30分钟git命令入门到放弃 Helkyle・ 15 小时前 172 | 暂无评论 这是一篇给像我这样的新手或者是熟悉图形工具的老鸟看的.仅作为快速入门的教程. learn-git git 现在的火爆 ...
- Git完整入门教程(从0开始)
前言 本博客是Git的入门教程,刚刚接触Git的朋友们参照本博客流程便可以在自己电脑上实现本地与云端Github的交互,同时本博客中使用到的Git指令也是最基本的. 文章目录 前言 初始化Git仓库 ...
- git快速入门 push/clone/reset/merge/切换分支全都有
本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...
- 带你Git从入门到精通
带你Git从入门到精通 [本文拷贝自码霸霸微信公众号,地址:https://mp.weixin.qq.com/s/0F6bjH1GRHhTnpfJPwLe1g] 目录: 前言 Git简介 实用主义 深 ...
- Git 从入门到放不下
@Git 从入门到放不下TOC Git 从入门到放不下 gafish Java基基 2019-09-22 点击上方"Java基基",选择"设为星标" 做积极的人 ...
- Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)
Git快速入门篇-- Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程) 前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问 ...
- Git从入门到放弃的Day10
点我下载电子版 文章目录 一.git简介 二.GIt的诞生 三.集中式和分布式区别 四.安装git,创建版本,git命令的使用 五.创建分支.合并分支(小试) 六.图文展示创建分支与合并分支原理 七. ...
- 送书【新书】 |《Git从入门到精通》
又到了每周三的送书时刻啦!本周我们送出的是<Git从入门到精通> 如果你还在为不会使用git而发愁,那么福音来啦!看他!看他!看他! (文末查看送书规则) 评价 这是一本读来很有乐趣也很有 ...
最新文章
- android 打开wifi并链接到制定ip,当设备连接到Android中的WiFi时,如何获取蜂窝网络的IP地址...
- mysql 中如何删除重复的数据_mysql如何快速删除重复的数据
- 【NeurIPS2020】Google点针图网络,Pointer Graph Networks
- 开发规范 - UML图
- JS中的Error对象
- 【AtCoder】ARC100 题解
- Ubuntu14.04安装
- SPPnet论文总结
- 网站设计(3常用标签)
- Android可拖动对话框Dialog
- 薅羊毛!企业微信自动加好友工具免费使用机会!
- caxa图文档服务器未启动,CAXA协同管理图文档
- Google Spanner原理:地球上最大的单一数据库
- Python——永久存储:腌制一缸美味的泡菜
- 操作系统 (二): 进程与线程
- 【渝粤题库】广东开放大学 互联网金融 形成性考核
- 【目标检测】YOLOv5训练工具,简化训练准备过程
- 中国下一代互联网(CNGI)建设市场投资前景预测与发展战略规划研究报告2021~2027年
- DP1363F高度集成的非接触读写芯片 13.56M NFC/RFID读卡器芯片 兼容替代CLRC663
- C#-FFmpeg-视频添加logo
热门文章
- windows10 安装linux,windows 10安装linux(ubuntu)子系统
- HTML 标签列表(字母排序)
- 张磊大神的《深入剖析Kubernetes》终于出书啦!
- 25、驾考题库API接口,免费好用
- unity 微信支付
- NameValuePair问题
- Linux 安装 Minio
- 3.1处理Cookie登录小说网
- 小米6.0系统设备一键激活xposed框架的经验
- html回弹效果,CSS 实现移动设备滚动回弹效果_html/css_WEB-ITnose