Git使用

一、git创建版本库

首次git创建版本库非常的简单使用命令

Mkdir  filename(创建文件夹  名字可以自定义)

然后打开这个文件夹

Cd  filename

执行命令

Pwd 命令pwd则可以显示创建的文件夹的具体位置

然后使用git命令将创建的文件夹变为可以通过git管理的仓库

Git init

创建好git仓库后会在文件夹中新增文件.git的目录这个.git是git用来跟踪和管理版本库的注意:不要手动的修改这个文件否则的话会使整个git仓库瘫痪,有些时候.git是默认隐藏的这个时候使用命令

Ls  -ah 则可以显示.git文件

二、将文件上传到git仓库(三步走战略)

1>使用命令 git  add 文件名

2>使用命令 git commit -m 描述

Git commit 命令是通过命令告诉git 将文件上传到仓库这个时候上传的仓库是本地的也就是我们刚刚在本地创建的文件夹

-m 后面则是对本次操作的描述

三、查看文件的状态

Git  status 命令可以查看仓库的当前状态

查看文件的更改信息使用命令

Git  diff  filename

四、git版本回退

在我们的工作当中会有很多次修改,提交这时候就会存在文件错乱的问题那么git很好的解决了这个问题的方式使用命令

Git log 显示最近到最远提交的日志一般显示最近3次的提交日志

最近一次是append GPL 上一次是 add distributed 最远一次 wrote a readme file

这样的信息会显得很杂乱这时候使用添加命令

--pretty=oneline 整体命令是git log --pretty=oneline

在git中用head表示当前版本上一个版本用head^表示

当我们需要回退很多版本的时候需要些很多个^这时候就很麻烦所以我们使用命令

HEAD~100这样就可以回退100个版本

我们需要在当前版本回退到上一版本这时候就可以使用命令

Git reset --hard HEAD^

回退之后呢我们可以使用cat 文件名 这样的话就可以查看版本信息

五、创建和合并分支

创建并且切换分支使用命令

Git checkout -b 分支名

查看当前分支使用命令

Git branch

这样会显示所有的分支但是在当前分支前面会有*标示

这样我们以后的开发就可以在分支上进行这样就能保证主分支master上面的项目不会受到影响,而我们自己进行开发的项目也能更好地进行代码的合并,在分支上进行开发后我们需要进行代码的整合这时候按照正常的提交进行即可

因为上面已经执行了创建并且切换分支那么我们在分支上直接进行提交试用命令

Git add

然后使用

Git commit -m ‘本次提交的说明’

然后会看到如下的效果

上面的截图说明了本次提交的信息

在分支上进行提交之后我们主分支master上面并没有本次代码的任何更改所以这个时候我们应该进行切换到主分支 master使用命令

Git checkout master

切换分支之后那么我们应该进行的是分支的合并因为我们需要将刚刚在分支上面执行的代码操作合并到主分支的上面所以使用命令

Git merge 分支名

Git merge 命令用于合并指定分支到当前分支

执行命令后会见到如下的效果

其中Fast-forward 表示的是快捷合并

合并之后如果该分支确定没有用后可以直接删掉使用命令

Git branch -d 分支名

当然合并分支并不是一帆风顺的当然会存在冲突,那我们应该怎么办呢,当然是解决冲突,有问题要解决问题,没有问题创造问题也要解决问题下面是合并分支时候出现的问题

Git冲突后会告诉我们冲突的位置

标示出来的既是冲突的位置,观察发现即使代码重复的位置

在使用分支的时候如果使用Fast-forward这种强制合并的方式,会因为删除分支而丢失合并的信息,这个时候我们使用的是另一种合并的分支的方式

在使用git的过程中可能会存在从远程版本库中进行pull的时候本地更改过的代码会被覆盖这个时候就比较蛋疼了所以

我们使用git stash将我们本地的修改的内容进行保存

这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:

git stash暂存修改

其中stash@{0}就是刚才保存的标记。

接下来我们就可以使用 git pull 使用 git pull 后就会更新远程仓库的代码,但是这时候可能会存在本地代码的覆盖问题所以我们这时候就应该将刚刚保存的修改释放出来所以使用命令

git stash pop stash@{0}

系统提示如下类似的信息:Auto-merging c/environ.cCONFLICT (content): Merge conflict in c/environ.c

意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突

转载于:https://www.cnblogs.com/mzli/p/6671260.html

git 简单使用 基本操作相关推荐

  1. Git简单基本操作指令集合

    Git简单基本操作指令集合 常用置顶 新添加到暂存区中文件前面有绿色的 A 标记 (这是精简的方式查询出来的状态 git status -s), 非精简方式查询出来的是 文件名全绿色的 修改过的.没有 ...

  2. 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习

    猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...

  3. linux下,ssh服务安装和法git简单的使用方,整理实测。

    一.ssh服务的安装(转载整理): 一般外部访问错误信息:ssh: connect to host localhost port 22: Connection refused. 错误原因可能: a.s ...

  4. Git常用命令——基本操作

    Git常用命令--基本操作 Git命令总览 SwitchdeMacBook-Pro:git-tutorial switch$ git --help -a usage: git [--version] ...

  5. Git简单生成公钥和私钥的方法及git ssh key配置

    Git简单生成公钥和私钥的方法 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name "用户名" ...

  6. Git本地仓库基本操作

    Git 本地仓库基本操作 1.设置用户名和邮箱地址 2.创建一个版本库 3.把文件提交至版本库 4.修改文件 5.版本回退 6.撤销修改 7.删除文件 1.设置用户名和邮箱地址 $ git confi ...

  7. Git与github基本操作

    一.  git安装与简单配置 1.      git的安装 首先进入git的官方网站git-scm.com 下载自己电脑对应的git版本,然后点击安装即可 点击上图的红色部分进行下载 安装的时候直接默 ...

  8. Git 简单命令行指令

    为什么80%的码农都做不了架构师?>>>    这些git命令来自gitlab的简单提示,挺人性化,记录下. ======= Git 全局设置 git config --global ...

  9. Git简单命令 学习资源贴

    https://blog.csdn.net/qq_32452623/article/details/79619798 资源贴 https://blog.csdn.net/collonn/article ...

最新文章

  1. Face Recognition for the Happy House-v3
  2. 痞子衡嵌入式:常用的数据差错控制技术(2)- 奇偶校验(Parity Check)
  3. python编写安装脚本_LAMP一键安装脚本(Python编写)
  4. hdu 4714 树+DFS
  5. Windows XP中快速识别真假SVCHOST.EXE
  6. 服务器升级中暂不可修改怎么回事,抖音服务器升级中,暂不支持本地区开播抖音怎么在法国直播?...
  7. synchronized原理_Java并发编程—synchronized保证线程安全的原理分析
  8. python两层装饰器_python装饰器
  9. Django学习之十: staticfile 静态文件
  10. as3数据类型检查写法(is/as/typeof/in/instanceof)用法介绍
  11. springboot之idea无法添加包
  12. Centos下安装Oracle12c
  13. 2018.12月问题整理杂记
  14. TCP-IP 用户态编程
  15. ubuntu16使用labelImg
  16. C语言:使用函数统计指定数字的个数
  17. ValueError: Weights for model sequential have not yet been created. Weights are created when the Mod
  18. 为什么计算机的伟大发明总是诞生于美国?
  19. MySQL---查看数据表结构
  20. java android时间工具类 week 月年

热门文章

  1. 易语言窗口c_句柄取进程名,易语言窗口句柄取进程文件名源码
  2. 华为畅享max有没有人脸识别_华为三款5000mAh超大电池手机,都是续航王者,最低只要1499元...
  3. 你不知道的javascript_你不知道的javascript(上)
  4. 【kafka】关于Kafka Fetch Session的讨论
  5. 95-34-030-Context-DefaultChannelHandlerContext
  6. 1.1.0-简介-P8-选举、多数派和租约
  7. 【Flink】Flink 实时去重方案 四种方案 MapState 、SQL方式、HyperLogLog、Bitmap
  8. 【clickhouse】MergeTree引擎的固定/自适应索引粒度
  9. 【Clickhouse】Clickhouse MergeTree家族引擎
  10. 【Elasticsearch】es Root mapping definition has unsupported parameters