Git学习(一)

学习github一定要学会git,否则在后续的github运用中会出现很多问题。

1.安装Git:

Mac自带Git,Windows需要自己安装。

2.配置git:

配置user.name和user.email:

打开终端输入:

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

注意git config命令的--global参数,表示全局配置,使用后你的电脑上所以的Git仓库都会使用这个配置。

3.创建一个版本库:
  • 第一步 创建一个空目录:

    mkdir learngit

    cd learngit

    touch readme.txt

    pwd

    /Users/UserName/learngit

    pwd命令用于显示当前目录,可以看见,刚刚创建的仓库位于/Users/UserName/learngit

  • 第二步 通过git init命令把这个目录变成Git可以管理的仓库:

    目录下会有一个.git的文件,用ls -ah命令可以看见。

  • 第三步 提交文件到仓库

    a.把文件添加到仓库:git add readme.txt

    b.把文件提交到仓库:git commit -m "wrote a readme"

  • 其他:

    显示从最近到最远的提交日志:git log

    让信息整齐显示的命令:git log --pretty=oneline

    让Git回退到上一个版本:git reset --hard HEAD^`

    记录每一条命令:git reflog

  • 工作区和暂缓区:

    工作区和暂缓区的区别:工作区:.git外,暂缓区:.git里。

    查看工作区和版本库里面最新版本的区别:git diff HEAD -- readme.txt

    丢弃工作区的修改:git checkout -- readme.txt

    把暂缓区的修改撤销掉:git reset HEAD readme.txt

    (添加过的修改,撤销分两步:1.是先撤销暂缓区的add:git reset HEAD readme.txt;2.然后撤销工作区的修改:git checkout readme.txt)

  • 关于git远程仓库:

    创建SSH Key:

    ssh-keygen -t rsa -C "Youremali@example.com

    然后一路回车,

    完成以后在用户主目录里找到.ssh目录:

    ls -a可以显示隐藏目录。

    cd .ssh

    找到id_rsa.pub公匙,cat id_rsa.pub打印公匙内容,然后复制。

    登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。

  • 添加远程库

    在github上创建一个远程的版本库(repository),然后关联本地的库和远程库。

    关联:git remote add origin git@github.com:path/repo-name.git

    (@后面的地址改为你自己的仓库地址)

    推送:git push -u origin master

    (第一次推送master分支的所有内容,此后每次本地提交时使用命令git push origin master推送最新修改。)

    克隆远程库到本地:git clone git@github.com:path/repo-name.git

github学习(二)的更多相关文章

  1. GitHub学习二-将本地Git库与Github上的Git库相关联

    0 git clone 如果是从自己的github clone,一键搞定,和三步的git remote add功能一样. 1.创建本地库 新建目录,右键git bash here,输入 git ini ...

  2. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  3. GitHub学习心得之 安装配置与多帐号管理

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...

  4. 集成学习二: Boosting

    目录 集成学习二: Boosting 引言 Adaboost Adaboost 算法 前向分步算法 前向分步算法 Boosting Tree 回归树 提升回归树 Gradient Boosting 参 ...

  5. (转)MyBatis框架的学习(二)——MyBatis架构与入门

    http://blog.csdn.net/yerenyuan_pku/article/details/71699515 MyBatis框架的架构 MyBatis框架的架构如下图: 下面作简要概述: S ...

  6. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置

    0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...

  7. 使用GitHub(二):配置并使用Git创建版本库

    使用GitHub(二):配置并使用Git创建版本库 本文简单介绍使用GitHub对代码进行版本控制,包括添加SSHkey.配置Git.使用Git创建版本库并在GitHub上进行管理,主要目的是对学习内 ...

  8. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  9. Github学习之路-小试牛刀,练习Git 的基本操作

    一.下子windows客户端. Git 客户端下载地址:http://msysgit.github.io/ 二.打开Git Bash 命令行操作界面. 安装完成后,在开始菜单里找到“Git”-> ...

  10. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

随机推荐

  1. jmeter接口测试实践

    一.什么是接口测试? 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻 ...

  2. 【HDU 5808】 Price List Strike Back (整体二分+动态规划)

    Price List Strike Back There are nn shops numbered with successive integers from 11 to nn in Bytelan ...

  3. 用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)

    Neutron Routing 服务提供跨 subnet 互联互通的能力.例如前面我们搭建了实验环境: cirros-vm1      172.16.100.3        vlan100 cirr ...

  4. 解决使用Idea/Eclipse编写Hadoop程序包依赖问题

    解决使用Idea/Eclipse编写Hadoop程序包依赖问题 解决包依赖的一种简单粗暴方法就是, 把下载下来的Hadoop压缩包解压, 搜索里面所有的额jar包文件,然后复制到一个目录,在使用Ide ...

  5. 浅谈stream数据流

    汴水流,泗水流,流到瓜州古渡头, 吴山点点愁.    我们知道水是源源不断的, 抽刀断水水更流, 斩不断, 理还乱,  是水流.(技术贴, 本文权当读者没学过古诗). 在一些语言里, 我们的前辈把数据 ...

  6. JS闭包深入理解(理解篇)

    看书的时候很是不明白为啥变量老是五,经过认真思考的出一下理解: function box() {   var arr = [];   for (var i = 0; i < 5; i++) {  ...

  7. 读书笔记 effective c++ Item3 在任何可能的时候使用 const

    Const可以修饰什么?   Const 关键字是万能的,在类外部,你可以用它修饰全局的或者命名空间范围内的常量,也可以用它来修饰文件,函数和块作用域的静态常量.在类内部,你可以使用它来声明静态或者非 ...

  8. CSS3知识点整理(四)----布局样式及其他

    包括CSS3多列布局样式.Flexbox伸缩布局.盒子模型等.重点介绍了Flexbox伸缩布局的各种属性用法. 一.多列布局 为了能在Web页面中方便实现类似报纸.杂志那种多列排版的布局,W3C特意给 ...

  9. Raid类型

    raid0:两块磁盘同时写入raid1:一块磁盘写入,另一块磁盘做备份,利用率50%raid5:两块磁盘同时写入两块磁盘都有内容,第三块磁盘做效应,n/n-1的利用率raid6:四块磁盘两块磁盘做存储 ...

  10. GitHub 上下载代码运行报错 :'The sandbox is not sync with the Podfile.lock\'

    问题描述: github下载的Demo,很多时候使用到CocoaPods,有的时候因为依赖关系或者版本问题不能编译运行.出现例如The sandbox is not sync with the Pod ...