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 从入门到退休相关推荐

  1. Git高速入门——Git安装、创建版本号库以及经常使用命令

    Git高速入门--Git安装.创建版本号库以及经常使用命令 学习Git最全面的资料,在我看来是这本书-- Pro Git,网上关于Git的教程有非常多,包含当中一些非常优秀的教程.这一系列的博客,主要 ...

  2. 30分钟git命令入门到放弃

    30分钟git命令入门到放弃 Helkyle・ 15 小时前 172 | 暂无评论 这是一篇给像我这样的新手或者是熟悉图形工具的老鸟看的.仅作为快速入门的教程. learn-git git 现在的火爆 ...

  3. Git完整入门教程(从0开始)

    前言 本博客是Git的入门教程,刚刚接触Git的朋友们参照本博客流程便可以在自己电脑上实现本地与云端Github的交互,同时本博客中使用到的Git指令也是最基本的. 文章目录 前言 初始化Git仓库 ...

  4. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  5. 带你Git从入门到精通

    带你Git从入门到精通 [本文拷贝自码霸霸微信公众号,地址:https://mp.weixin.qq.com/s/0F6bjH1GRHhTnpfJPwLe1g] 目录: 前言 Git简介 实用主义 深 ...

  6. Git 从入门到放不下

    @Git 从入门到放不下TOC Git 从入门到放不下 gafish Java基基 2019-09-22 点击上方"Java基基",选择"设为星标" 做积极的人 ...

  7. Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    Git快速入门篇-- Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程) 前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问 ...

  8. Git从入门到放弃的Day10

    点我下载电子版 文章目录 一.git简介 二.GIt的诞生 三.集中式和分布式区别 四.安装git,创建版本,git命令的使用 五.创建分支.合并分支(小试) 六.图文展示创建分支与合并分支原理 七. ...

  9. 送书【新书】 |《Git从入门到精通》

    又到了每周三的送书时刻啦!本周我们送出的是<Git从入门到精通> 如果你还在为不会使用git而发愁,那么福音来啦!看他!看他!看他! (文末查看送书规则) 评价 这是一本读来很有乐趣也很有 ...

最新文章

  1. android 打开wifi并链接到制定ip,当设备连接到Android中的WiFi时,如何获取蜂窝网络的IP地址...
  2. mysql 中如何删除重复的数据_mysql如何快速删除重复的数据
  3. 【NeurIPS2020】Google点针图网络,Pointer Graph Networks
  4. 开发规范 - UML图
  5. JS中的Error对象
  6. 【AtCoder】ARC100 题解
  7. Ubuntu14.04安装
  8. SPPnet论文总结
  9. 网站设计(3常用标签)
  10. Android可拖动对话框Dialog
  11. 薅羊毛!企业微信自动加好友工具免费使用机会!
  12. caxa图文档服务器未启动,CAXA协同管理图文档
  13. Google Spanner原理:地球上最大的单一数据库
  14. Python——永久存储:腌制一缸美味的泡菜
  15. 操作系统 (二): 进程与线程
  16. 【渝粤题库】广东开放大学 互联网金融 形成性考核
  17. 【目标检测】YOLOv5训练工具,简化训练准备过程
  18. 中国下一代互联网(CNGI)建设市场投资前景预测与发展战略规划研究报告2021~2027年
  19. DP1363F高度集成的非接触读写芯片 13.56M NFC/RFID读卡器芯片 兼容替代CLRC663
  20. C#-FFmpeg-视频添加logo

热门文章

  1. windows10 安装linux,windows 10安装linux(ubuntu)子系统
  2. HTML 标签列表(字母排序)
  3. 张磊大神的《深入剖析Kubernetes》终于出书啦!
  4. 25、驾考题库API接口,免费好用
  5. unity 微信支付
  6. NameValuePair问题
  7. Linux 安装 Minio
  8. 3.1处理Cookie登录小说网
  9. 小米6.0系统设备一键激活xposed框架的经验
  10. html回弹效果,CSS 实现移动设备滚动回弹效果_html/css_WEB-ITnose