参考网站:https://www.liaoxuefeng.com/wiki/896043488029600
基础概念
1.自定义名字和邮箱号
git config --global user.name “your name”
git config --global user.email “your email”
2.创建默认仓库
mkdir filename 创建文件
cd filename 进入文件夹
Pwd 当前文件路径
git init 将当前目录作为初始化的仓库
3.文件基础操作
git add filename.exname 文件添加,可多次添加,一并提交
   git commit -m “description” 提交文件并填写描述
git status 查看文件当前状态(例如:被修改的文件)
   git diff HEAD -- filename.exname 查看某个文件详细被修改的地方
   git log 查看操作日志
   git log --pretty=oneline 查看简介的操作日志
   ls 查看文件列表
4.版本回退
git reset --hard HEAD^ 回退到上一个版本 “^”的个数代表要回退的版本数,前两个版本用^^代表,以此类推
git reset --hard conmmitid 回退到任意指定commitid版本
git reflog 查看所有的文件操作指令,前面的随机码即commitid
5.撤销修改
git checkout -- filename.exname 已修改(删除)文件但未add时,使用该命令会撤销修改(删除)的地方(文件)
   git reset HEAD filename.exname 已经add但未commit时,使用该命令会把暂存区回退到工作区,相当于只是本地修改(删除),未add
6.删除文件
rm filename.exname 仅在工作区删除
git rm filename.exname 不仅再工作区删除,同时还删除暂存区(完事之后记得 git commit),若要恢复,则需要用到前面的撤销修改指令
7.连接github

出现红框内英文即代表链接成功
8.添加到远程库
在github创建一个空的git仓库之后
  
    在本地仓库输入 git remote add origin git@github.com:(github仓库地址).git
   若报remote origin already exists的错误 说明本地已经关联了一个远程库,需要先删除再关联
   git remote -v 查看远程库信息
   git remote rm origin 删除远程库
   再重新关联
   若要关联多个远程库比如(github和码云)
   git remote add github git@github.com:(github仓库地址).git 先关联github
   git remote add gitee git@github.com:(github仓库地址).git 再关联码云
注意后面的origin需要改为对应的红标内容(代表着远程库名字)
接着 git push -u origin master 把本地库master所有内容推送到远程库上, 第一次提交需要加上参数(-u),后面可简化
出现此内容属于正常,再输入一次上面的push指令即可
出现以下内容时,说明已经推送到github仓库了,以后只需要push一次就够了

**如果从别的文件库上传到一个github仓库**
  需要先pull下来 git pull origin master 会自动合并
  如果是两个不相关的项目需要加上参数 改为 git pull origin master --allow-unrelated-histories
  之后会自动打开vim编辑器 先按 i 切换到插入模式,写完后 Esc→:→wq 回车即可保存退出编辑器
  然后再重新 git push -u origin master 即可推送到github
9.从远程库克隆
   在github新建一个仓库的时候勾选
   然后再本地找到一个合适的地方
   git clone git@github.com:(github仓库位置).git 将项目克隆到本地仓库
10创建与合并分支
   git branch 查看分支
   git branch name 创建分支
   git checkout name 或者 git switch name 切换分支
   git checkout -b name 或者 git switch -c name 创建并且切换到该分支
   git merge name 合并某分支到当前分支
   git branch -d name 删除分支
   git log --graph --prety=oneline --abbrev-commit 查看所有分支合并信息
11.隐藏当前工作区,提交之前工作修改
例如需要修改分支名字为issue-101的bug
11.1 git stash 隐藏工作区
   11.2 git checkout master 切换回需要修改的分支
   11.3 git checkout -b issue-101 在改分支下创建临时分支
   11.4 修改bug后提交文件 提交时的commitid后面会用到
   11.5 git checkout master 切换回master分支
   11.6 git merge --no-ff -m ”描述内容” issue-101 完成合并并且删除该分支
   11.7 git checkout dev 完成修改切换回之前的分支继续开发
   11.8 git stash list 查看之前隐藏的分支
   11.9 git stash pop 恢复到之前的工作区并且删除stash的该条信息
   11.10 因为dev是从master分支分过来的,所以在dev上同样存在该bug的问题
   11.11 git cherry-pick commitid 复制一个特定的提交到当前分支,同时也提交了
12.强制删除某个分支
   git branch -D branchName 强制删除某个分支
13.多人协作问题
   git remote 或者 git remote -v 查看所有分支信息
   git push origin master(改成你要推送的分支) 提交到远程库
13.1 git pull 合并
13.2 如果git pull 提示no tracking information 则说明本地和远程的分支链接关系没有建立
13.3 git branch --set-upstream-to= (分支名字) origin/(分支名字)
13.4 git pull 再更新一遍
13.5 pull成功,但可能会出现冲突,手动解决一下再commit提交,然后再push一遍即可
14标签管理(首先要切换到要创建标签的分支上)标签和commit是挂钩的,如果提交到其他分支则其他分支也是有该标签
   git tag v1.0 创建1.0的标签
   git tag 查看所有标签
   git log --graph --pretty=oneline --abbrev-commit 查看所有commitid
   git tag v1.0 commitid 给指定commitid打标签
   git show v标签 查看对应标签的详细提交信息
   git tag -d v标签 删除某个标签
   git push origin v标签 推送某个标签到远程库
   git push origin --tags 一次性推送本地所有未推送的标签到远程库
   git push origin :refs/tags v标签 删除远程库的标签(要先删除本地的标签)

GIT初学者详细指令学习的更多相关文章

  1. git/github常用指令、入门

    git的基本常用指令: 1.cd:切换路径 2.mkdir:进入文件夹目录 3.pwd:显示当前目录的路径 4.git init:把当前的目录变成可以管理的git仓库,生成隐藏.git文件 5.git ...

  2. 10篇写给Git初学者的最佳教程(转)

    身为网页设计师或者网页开发者的你,可能已经听说过Git这个正快速成长的版本控制系统.它由GitHub维护:GitHub是一个开放性的.存储众人代码的网站.如果你想学习如何使用Git,请参考本文.在文章 ...

  3. 码云配合git入门命令总结学习

    目录 码云配合git入门命令总结学习 基本设置 基本命令总结学习 准备工作以及基本思路 基本命令 码云搭建仓库步骤 准备前工作 具体操作方法 远程仓库基本命令 标签相关命令 所有命令总结 基本命令总结 ...

  4. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  5. ARM指令学习,王明学learn

    ARM指令学习 一.算数和逻辑指令 1— MOV 数据传送指令    2.— MVN 数据取反传送指令    3.— CMP 比较指令    4.— CMN 反值比较指令    5.— TST 位测试 ...

  6. Git 一些关于 Git、Github 的学习资源

    一些关于 Git.Github 的学习资源 昨天浏览 Github 的是时候发现了 Githug 这个游戏,这个游戏用来帮助菜鸟们学习使用 Git 的. Githug is designed to g ...

  7. Tomcat详细用法学习(三)

    本篇接上一篇<Tomcat详细用法学习(二)>,主要讲解服务器所要求的web应用的组织结构. 上一篇说到了如何使用服务器将自己的web应用映射成虚拟目录,以便于在浏览器中可以对自己开发的w ...

  8. Tomcat详细用法学习(五)

    本篇接上一篇<Tomcat详细用法学习(四)>,主要讲解Tomcat服务器的管理平台 我们可能会将很多web应用交给Tomcat,那么Tomcat服务器就要对我们这些载入的web应用进行管 ...

  9. Tomcat详细用法学习(四)

    本篇接上一篇<Tomcat详细用法学习(三)>,主要讲解配置虚拟主机.打包web应用成war包和Tomcat的体系结构 对于Tomcat服务器,可以放置多个网站(多个web应用),这就是讲 ...

  10. Tomcat详细用法学习(二)

    本篇接上一篇<Tomcat详细用法学习(一)>,主要讲解服务器的虚拟目录映射的几种方式. 先来看几个概念: web应用的概念:一个web应用包含了许多我们做好的web资源,里面或许包括了多 ...

随机推荐

  1. 【大数据面试】Flink 01 概述:包含内容、层次架构、运行组件、部署模式、任务提交流程、任务调度概念、编程模型组成

    一.概述 1.介绍 对无界和有界数据流进行有状态计算的分布式引擎和框架,并可以使用高层API编写分布式任务,主要包括: DataSet API(批处理):静态数据抽象为分布式数据集,方便使用操作符进行 ...

  2. Java开发学习(四十八)----MyBatisPlus删除语句之逻辑删除

    1.逻辑删除 接下来要讲解是删除中比较重要的一个操作,逻辑删除,先来分析下问题: 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总 ...

  3. CSS中和颜色及渐变

    CSS可以设置的颜色 颜色名称 transparent(全透明黑色) pink yellowgreen 等指定的颜色名称 16进制 #ABCDEF 参数 含义 范围 AB 红色渠道值 00-FF CD ...

  4. C#深拷贝方法

    概述 为什么要用到深拷贝呢?比如我们建了某个类Person,并且实例化出一个对象,然后,突然需要把这个对象复制一遍,并且复制出来的对象要跟之前的一模一样,来看下我们一般会怎么做. 方法一(利用反射实现 ...

  5. python 实现RSA公钥加密,私钥解密

    from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 from Cryp ...

  6. c++随笔测试(Corner of cpp)

    在c++17下,程序的输出是什么?(有可能编译出错,有可能输出未知,有可能是未定义行为) 点击查看代码 #include<iostream> void foo(unsigned int) ...

  7. cmd命令行ssh连接Linux服务器

    打开cmd工具 使用命令ssh连接服务器 ssh 用户名@ip地址 (不需要指定端口号,默认端口就是22) 输入密码即可

  8. FPGA:乒乓球比赛模拟机的设计

    简介 开发板:EGO1 开发环境:Windows10 + Xilinx Vivado 2020 数字逻辑大作业题目 7: 乒乓球比赛模拟机的设计 乒乓球比赛模拟机用发光二极管(LED)模拟乒乓球运动轨 ...

  9. ESXI 7.0封装网卡驱动

    前段时间配置的All In One 主机,由于华擎H410M-ITX/AC主板的板载网卡为intel I219-V,在安装ESXI后网卡无法驱动.查询之后发现原来ESXI7.0.2的版本不含该网卡驱动 ...

  10. 时钟同步服务器ntp安装文档

    应用场景 同步时钟很有必要,如果服务器的时间差过大会出现不必要的问题 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同步的标准时间用于记录各种事件发生时序, 如E-MAIL信息.文件创建和 ...