1.git安装

 widows: 可以去git官网下载安装

 ubantu : 使用命令 sudo apt-get install git 进行安装

2.git启动

 widows: 首先去到需要建立git库的文件夹,然后点击鼠标右键,选择Git Bash Here, 便可以启动命令框

 ubantu: 文件目录切换到需要建立gi仓库的目录,输入命令 git, 便可以启动命令框

3.git命令

  3-1.创建版本库

    git init

    (执行完上面的命令后,文件夹内会对一个.git的文件夹)

  3-2. 将更新后的工作区文件(文件夹)添加到git暂存区

    git add 文件名(添加工作区全部内容可以用 .)

    git rm 文件名 (推送删除的文件)

  3-3. 将暂存区的内容提交到版本库

    git commit -m ”提交时说明性文字"

  3-4. 查看提交的版本记录

    git log

    如果版本太多 可以用 git log --pretty=oneline

  3-5. 版本回退

    git reset --hard HEAD^(一个^表示回退一级,需要回退多级写多个^)

    或者 git reset --hard HEAD~1(1表示回退一级, 需要回退多级就写回退的级数)

    或者 git reset --hard 版本号 (版本号可以只写前边几位)

  3-6. 查看历史操作记录(查看版本号)

    git reflog

  3-7. 查看状态

    git status

  3-8. 撤销工作区修改(包括删除)

    git checkout --需要撤销的文件名

  3-9. 撤销已提交到暂存区的修改(包括删除)

    a.先将暂存区的内容回退到工作区

      git reset HEAD --要撤销的文件名

    b. 从工作区撤销修改

      git checkout --要撤销的文件名

  3-10. 对比文件不同

    a.工作区与版本库对比

      git diff HEAD --工作区文件名

    b. 版本库之间对比

      git diff HEAD HEAD^ --要对比的文件名

  3-11. 查看分支

    git branch

  3-12. 创建分支

    git branch 要创建的分支名

  3-13. 切换分支

    git checkout 分支名

  3-14. 创建并切换分支

    git checkout -b 分支名

  3-15. 删除分支

    git branch -d 分支名

  3-16. 分支合并

    a.快速合并

      git merge 分支名

      这种方法是将两分支的指针指到一起,没有新提交记录

      

    b.合并冲突

      产生原因:两个分支修改同一个文件

      解决冲突:手动合并文件中不同的内容 然后再进行一次合并(合并时会弹出一个写提交时的说明文字的编辑框,写完内容后用ctrl+X退出)

    c. 禁止快速合并

      git merge --no-ff -m "提交说明文字" 分支名

      这种方法会先将两分支指针指到一起,并会进行一次新的提交

      

  3-17. bug分支

    解决bug时新建一个分支,合并时禁止快速合并,解决完bug后删掉bug分支

  3-18. 保存现场

    应用场景:当前修改的内容还没有提交 需要去处理另外一个紧急任务时 保存当前的工作状态

    git stash

  3-19. 查看保存现场

    git stash list

  3-20. 恢复现场

    git stash pop

4.github使用

  4-1. 创建ssh密钥

    ssh-keygen -t rsa -C "邮箱"

  4-2. 把公共密钥添加到github

    点击github头像,然后选择settings, 再选择SSH那一项便可以添加。

  4-3. 把github仓库克隆到本地

    git clone 要克隆的仓库SSH链接

  4-4. 拉取代码到本地

    git pull origin 分支名

  4-5. 推送版本库中的内容到github

    git push origin 分支名

    如果分支不存在会新建分支

  4-6. 本地分支跟踪github分支

    git branch --set-upstream-to=origin/要跟踪的远程分支名 本地分支名

    跟踪之后 可以用git status 检查本地分支与远程分支的内容是否一致

    跟踪之后 推送代码时可以用 git push, 可以不写远程分支名称

    

git及github使用的更多相关文章

  1. 简单使用Git和Github来管理自己的代码和读书笔记

    原文链接:http://my.oschina.net/bxxfighting/blog/378196   先注册github.com的账号官方网站: https://github.com/ 注册界面, ...

  2. git for windows 的默认工作路径(HOME)的设置以及Git与GitHub之间的SSH加密协议

    1.安装及配置默认路径 Windows中从GitHub上面:https://git-for-windows.github.io/ 下载安装好git后(双击,改一下需要的安装路径,一路确定就好了),安装 ...

  3. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

  4. 转:sublime上使用git连接github

    "工欲善其事,必先利其器." 这是古人的教诲,也是一个高效率的工程师需要遵循的法则之一.从大学开始写Java使用了JBuilder,Eclipse,后来写PHP用了Zend,写Ja ...

  5. git与github使用

    Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六. ...

  6. linux下git以及github的连接与使用

    简单理解 Git 的思想和基本的工作原理,能够更好的进一步和使用Git.在开始学习Git 的时候,最好不要把Git的各种概念和其他的版本控制系统诸如 Subversion 等相比,否则容易混淆每个操作 ...

  7. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  8. Git和Github简单教程(转)

    这篇文章只挑一部分命令来讲,差不多够用就行的程度.如果需要其他命令,到时候再去其他地方了解就行了先在Github上写好再搬过来的:本文Github链接 目录: 零.Git是什么 一.Git的主要功能: ...

  9. WebStorm和sublime上使用git连接github(转)

    WebStorm使用git连接github的方法: 用webstorm上传代码时,首先要先下载git,网址一搜就可以搜到,安装git,并且把ssh配置到github上.然后开始配置webstorm,打 ...

  10. git和github使用方式

    git 和github github是远程管理代码的服务器的名称 git代码管理系统 (git既然是一个系统,所以说git也有一些命令) git操作过程 首先在本地建立一个仓库,用来把代码提交到git ...

随机推荐

  1. 工控随笔_23_WinCC报Application CCArchiveConnMon.exe could not establish a connection to the Win CC license server

    西门子的软件都是比较庞大的,安装一个软件要很长时间,而且安装的过程中很容易因为系统兼容性问题导致不能成功安装的情况, 而有时还会出现安装成功,但是不能正常使用的情况.这个时候就很麻烦,一般除了重装系统 ...

  2. C# 将DataTable数据写入到txt文件中

    见代码: /// <summary> /// 将DataTable里面的内容写入txt文件 /// </summary> /// <param name="dt ...

  3. Zynq 7020笔记之 GPIO MIO 和EMIO的学习

    1 参考 Xilinx ZYNQ 7000+Vivado2015.2系列(四)之GPIO的三种方式:MIO.EMIO.AXI_GPIO 2 理论指示 在PS侧,有PS自己的IO pin,称为MIO,共 ...

  4. 【转】简谈基于FPGA的千兆以太网

    原文地址: http://blog.chinaaet.com/luhui/p/5100052903 大家好,又到了学习时间了,学习使人快乐.今天我们来简单的聊一聊以太网,以太网在FPGA学习中属于比较 ...

  5. 接口和抽象类的区别,注意JDK8的接口可以有实现。

    Java中,抽象类和接口有相似的地方.下面我们就来细说说接口和抽象类的异同. 首先是相同的地方: 1. 接口和抽象类都能定义方法和属性. 2. 接口和抽象类都是看作是一种特殊的类.大部分的时候,定义的 ...

  6. day01——python初始、变量、常量、注释、基础数据类型、输入、if

    python的历史: 04年Django框架诞生了 内存回收机制是什么(面试题) python2:源码不统一,有重复的功能代码 python3:没有重复的功能代码 python是一个什么的编程语言 编 ...

  7. 【C语言】学不会的指针

    指针 前言: 指针是C语言程序的核心,刚开始学指针,嗯....这样呀,貌似不难呀:之后开始用指针,&p,p,*p,**p,这些指针在用的时候,额.....什么东东?每次都要想半天,特别是遇到双 ...

  8. 关于一致性hash,这可能是全网最形象生动最容易理解的文档,想做架构师的你来了解一下

    问题提出 一致性hash是什么?假设有4台缓存服务器N0,N1,N2,N3,现在需要存储数据OBJECT1,OBJECT2,OBJECT3,OBJECT4,OBJECT5,OBJECT5,OBJECT ...

  9. 回文树/回文自动机(PAM)学习笔记

    回文树(也就是回文自动机)实际上是奇偶两棵树,每一个节点代表一个本质不同的回文子串(一棵树上的串长度全部是奇数,另一棵全部是偶数),原串中每一个本质不同的回文子串都在树上出现一次且仅一次. 一个节点的 ...

  10. C#获取文件夹下的所有文件的方法

    目录 #基础知识 #只获取目录下一级的文件夹与文件 # 递归地输出当前运行程序所在的磁盘下的所有文件名和子目录名 正文   #基础知识 1.获得当前运行程序的路径 1 string rootPath ...