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. 高级程序员到底高级在哪里?
  2. 网站统计中的PV(访问量):UV(独立访客):IP(独立IP)的定义与区别
  3. NEC:借助AI撬动未来物联网世界
  4. 大S变汪太!与汪小菲注册结婚
  5. jQuery应用之(二)使用jQuery管理选择结果(荐)
  6. activemq 控制台怎么看生产信息_Jmeter中间件处理-ActiveMQ
  7. BZOJ 2818——Gcd
  8. zabbix的trigger
  9. linux 定位 踩内存_互联网线上系统故障定位方法论
  10. 如何在Web App Project 或者 Web Site Project的App_Code 内使用 Profile/ProfileCommon
  11. 在linux下如何修改DNS地址
  12. 黑帽SEO常用作弊手法分析
  13. 图层蒙版和快速蒙版、路径
  14. 上楼梯(递归和迭代的对比)
  15. 用pycharm连接云端服务器
  16. 阿里云安全管家使用教程
  17. 股票北向资金数据接口在哪里?
  18. JPA实体继承实体的映射策略
  19. 【读书笔记】西行漫记
  20. 如何打造智能化舆情研判预警系统

热门文章

  1. 无缝移植J2ME程序到OPhone平台解决方案
  2. Knights 题解
  3. CTF怎么快速入门?
  4. KYC 技术详解:对金融行业与隐私合规的价值和意义
  5. 随机抽人名小程序_分析并实现一个简单的抽人程序
  6. 用Yolact模型训练自己的数据集
  7. vgg16卷积层的计算量_卷积神经网络VGG16详解
  8. 终于有人把云计算、大数据和 AI 讲明白了【深度好文】
  9. 原来QQ聊天记还能这样找回!学会之后再也不用担心删除了
  10. 申报倒计时|武汉东湖高新区促进外资企业投资发展专项资金最后6天