git与git命令的基本使用

一.git是什么

1.定义

定义:git是一款开源的,去中心化的分布式版本控制系统。

2.git的工作原理

1.工作架构:
工作区----暂存区----本地仓库----远程仓库

其中,工作区,暂存区和本地仓库均处于本地,远程仓库是中心服务器并不属于本地。

2.git的工作特点

​ (1)比起老式的vcs(vertion control system)系统,git的工作是分布式的, 不会因为master的崩溃而使整个工作停工。

​ (2)git的分支管理:

​ ①git按照 项目----分支----版本 分为三个层次,分支是版本的集合。

​ ②git的分支在提交合并之前,并不会对其他的主机产生影响,而老式的svn改变分支时,所有主机上的分支都会被改变。

​ (3)git的元数据都保存在.git目录内,进行统一的存储管理。

3.github

1.定义
github是基于git的一个托管平台,可以创建远程仓库来保存项目工程。
2.同类产品

​ gitlab:私人版的github

4. git在linux上的shell应用

1.安装git:

大部分linux上集成了git插件,如缺少git可通过yum下载。

yum install git
2.配置git:

配置全局用户属性,便于与仓库进行交互并标记来源。

git config -- global user.name XXXX(username)
git config -- global user.email XXXX(email)
3.常用git命令:

​ (1) git init

​ 创建本地git仓库:

​ 进入项目所在文件夹内,执行该命令,为项目创建一个本地仓库。

​ (2)git add XXX

​ 提交文件到缓存区

​ (3)git commit -m “XXX(comment)”

​ 提交文件到本地仓库

​ (4)git commit -am “XXX(comment)”

​ 依次提交文件到缓存区和本地仓库

​ (4)git status

​ 查看版本仓库状态

​ (5)git diff XXX

​ 比较文件在工作区和缓存区的差异

​ git diff --cached XXX

​ 比较文件在缓存区和本地仓库的差异

​ git diff HEAD XXX

​ 比较文件在工作区和本地仓库的差异

​ (6)git log

查看git的操作日志报告

​ (7) git reflog

​ 查看所有分支的操作日志报告

​ (8)git reset --hard HEAD^

​ 将当前版本回退到上一个版本

​ (版本信息可以从git reflog/log中查看)

​ (9)git reset – HEAD@{XX}

​ 回到指定的版本,如:git reset – hard HEAD@{1}

5 .撤销修改操作

1.本地库覆盖工作区

​ git checkout – XXX

用本地库中的版本覆盖掉工作区中的版本

2.本地库覆盖缓存区和工作区

​ git reset HEAD XXX

​ 用本地库中的版本覆盖掉缓存区中的版本

​ 覆盖工作区,同1

3.回退指定版本

​ git reset --hard HEAD^

​ 回退到当前版本的上一版本

​ git reset --hard HEAD@{1}

​ 回退到1版本

4.还原误删工作区文件

​ rm -rf XXX

​ 删除工作区文件

​ git checkout --XXX

​ 用本地库文件覆盖工作区文件

5.还原git rm的删除操作

​ git rm XXX

​ 删除工作区和缓存区版本

​ git reset HEAD XXX

​ 用本地库版本覆盖掉缓存区版本

​ git checkout --XXX

​ 还原缓存区后还原工作区。

6.远程仓库操作

1.添加远程仓库别名

​ git remote add 远程仓库名 [url]

​ 如git remote add abc http://www.abc.helloworld.com

2.显示已存在的远程分支

​ git remote

3.查看远程仓库的详细信息

​ git remote -v

4.推送本地仓库版本到远程仓库
git push [remote-name] [local-branch-name]:[remotebranch-name]
5.同步远程仓库版本到本地仓库

​ 第一次同步:

​ git clone [url]

​ 之后的同步:

git pull [remote-name][local-branch-name]

7.分支操作

1.查看本地分支

​ git branch

2.查看远程分支

​ git branch -r

3.查看所有分支

​ git branch -a

4.创建分支与切换切换分支

​ (1)git branch [branchName]

​ 创建分支

​ (2)git checkout [branchName]

​ 切换分支

​ (3)git checkout -b [branchName]

​ 创建并切换分支

5.删除分支

git branch -d [branchName] 删除分支

git branch -D[branchName] 强制删除未合并分支

6. 推送分支到远程

​ git push origin [local-branch-name]:[remote-branch-name]

7.合并分支

git merge [branchName]

合并子分支

8.删除远程分支
git push [remote-name] :[remote-branch-name]
将制定分支置成空
git push [remote-name] --delete [remote-branch-name]
删除远程分支

git与github初入门:git与git命令的基本使用相关推荐

  1. git与github从入门到精通

    1.了解Git和Github 1.1 什么是Git Git是一个免费.开源的版本控制软件 1.2 什么是版本控制系统 版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统. ...

  2. 【Git、GitHub、GitLab】七 git中分支的删除以及出现分离头指针的情况

    上一篇文章学习了GIT中commit.tree和blob三个对象之间的关系,点击链接查看:[Git.GitHub.GitLab]六 GIT中commit.tree和blob三个对象之间的关系 文章目录 ...

  3. 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容

    上一篇文章学习了git的文件重命名与git -log 的系列命令的使用方法.点击链接查看上一篇文章:[Git.GitHub.GitLab]四 Git文件重命名的简单方法以及使用git log查看版本演 ...

  4. 【Git、GitHub、GitLab】四 Git文件重命名的简单方法以及使用git log查看版本演变历史

    上一篇文章学会了使用GIT四次提交建立一个有模有样的仓库.点击链接查看:[Git.GitHub.GitLab]三 Git基本命令之创建仓库并向仓库中添加文件. 本片文章记录git的文件重命名的简单方法 ...

  5. 【Git、GitHub、GitLab】三 Git基本命令之创建仓库并向仓库中添加文件

    前两篇文章已经学会了Git的基本命令与创建仓库的命令,点击链接查看上一篇文章:[Git.GitHub.GitLab]二 Git基本命令之建立Git仓库,本篇文章就来创建一个有模有样的仓库.该仓库中的代 ...

  6. 【Git、GitHub、GitLab】二 Git基本命令之建立Git仓库

    上一篇文章学习了Git的安装与最小配置:[Git.GitHub.GitLab]一 Git安装与Git最小配置 文章目录 建立Git仓库 建立Git仓库 有两种方式可以建立Git仓库: 用Git之前已经 ...

  7. Git + Github初入门

    一.Git 1.在官网下载Git for Windows后直接进行安装,自定义希望存放的文件夹后,一直next即可 2.可以使用 $ git config user.name              ...

  8. Git和GitHub快速入门

    Git入门 简介 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制系统. 工具 准备工具 Git下载地址:https://git-scm ...

  9. Git版本控制软件结合GitHub从入门到精通常用命令学习手册

    GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以 ...

最新文章

  1. pic单片机延时程序C语言,PIC单片机C语言延时程序和循环子程序实现方法
  2. java.io.IOException: CreateProcess error=2, ?????????
  3. python结束多线程_如何中断/停止/结束挂起的多线程python程序
  4. 判断某一点是否在三角形内
  5. php生成excel带图片格式,php导出excel单元格带图片显示方法
  6. BlackBerry 9900刷机
  7. 微信小程序图片下边加文字组合
  8. 在使用RadASM一开始的过程中遇到的问题汇总(后续更新)
  9. 英雄无敌3 Def 文件对应生物列表
  10. 计算机语言中下划线表示什么,下划线是什么
  11. AUTOCAD——坐标标注
  12. 细胞治疗质量控制解决方案
  13. k60的FTM模块:配置电机、编码器、舵机
  14. 常用软件测试工具 ,赶紧收藏
  15. python 写入excel数据xlwt_用python包xlwt将数据写入Excel中
  16. Hashtable的原理
  17. 推荐一款很好用的一款扒网站的工具
  18. 青少年学习机器人教育的收获
  19. 【Windows】如何修改远程桌面端口3389
  20. 奖客富翁系统代码C语言,木马代码-c语言木马代码,最简单的,我保证不做违法的 – 手机爱问...

热门文章

  1. Android 加载超大长图及原理
  2. jasperreport开发手册--ireport教程
  3. 赴勘测设计院进行BIM学习调研的总结报告
  4. 7080生化分析仪使用说明书—— 维护保养篇
  5. web无插件解码播放H264/H265(js解码HTML5播放)
  6. 编辑字体映射文件--完美解决CAD字体乱码现象
  7. JVM字节码之整型iconst、istore、iload指令
  8. 给大家推荐一个计算机视觉最新论文学习的网站
  9. 计算机更新bios,更新主板BIOS_如何使用BIOS Installer更新BIOS
  10. iOS视频直播初窥:高仿