首先,感谢廖雪峰老师的git教程

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

写的真的很好。

笔记:

1,安装之后记得配置,自己想个名字,和自己的邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2,新建git仓库

先新建文件夹(git bash命令行界面就是Linux里的命令,毕竟git是Linux它亲爸一气之下开发的)

然后

$ git init

就把这个文件夹初始化为git仓库了

3,编辑文件

可以用vim,或者Notepad++。把代码文件什么的放在刚才那个目录就好

4,添加到仓库

编辑完文件并没有往仓库里面放呢。

先执行

$ git add readme.txt

把文件提交到缓存区

$ git commit -m "wrote a readme file"

把缓存区的文件正式提交给仓库。-m选项是给此次改动做备注

这就把文件完全提交给仓库了。

5,查看仓库状态

$ git status

会看到目前仓库里面的文件和缓存区和文件夹里面三个地方的文件的区别

$ git diff readme.txt 

查看readme.txt这个文件的改动

$ git log

查看所有的提交给仓库的日志

6、版本退回

$ git reset --hard HEAD^

HEAD代表现在的版本,HEAD^代表上一个版本,HEAD^^代表上上个版本

如果回到上个版本了,还想再回到现在的版本

就需要记住git log输出文本里面的一长串HEAD,比如e475afc93c209a690c39c13a46716e8fa000c366

$ git reset --hard e475a

就行了,只需要前几个字母让它能唯一的匹配得到就行

7,工作区和暂存区

工作区就是写文件的那个文件夹,暂存区就是git add 执行后文件所存的地方。再git commit才能把文件放进仓库。

一个文件想放到仓库里,这三步缺一不可。如果没有git add,暂存区就没东西,git commit就没有东提交给仓库。

同时可以git add多个文件,最后用一个git commit,就可以把所有的git add的文件都放进仓库

8,撤销修改

$ git checkout -- readme.txt

它撤销了readme.txt在工作区的修改。也就是让这个文件回到最近一次git commit 或 git add时的状态。

$ git reset HEAD readme.txt

它撤销了在暂存区,还未提交到仓库的修改

9,删除文件

$ rm test.txt
$ git rm test.txt
$ git commit -m "remove test.txt"

先在本地删除,再在仓库删除,最后再提交一下

如果误删了呢,不用急,直接

$ git checkout -- test.txt

就将用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

10,远程仓库(用的SSH协议)

先执行

$ ssh-keygen -t rsa -C "youremail@example.com"

生成.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

然后把公钥复制粘贴到GitHub上

再在GitHub上新建仓库,简单的命名一下就行

$ git remote add origin git@github.com:michaelliao/learngit.git

再用这个语句在本地初始化关联远程库。

然后用

$ git push -u origin master

把当前仓库推送到远程仓库里。第一次使用加上-u参数,后面推送就不用-u了

11,从远程库克隆

$ git clone git@github.com:michaelliao/gitskills.git

就会把那个远程库里面的所有东西克隆到本地当前文件夹了,也可用https协议

今天暂且学到这,后面分支管理,抽空再学

菜鸟之路——git学习及GitHub的使用的更多相关文章

  1. Git学习之路(2)-安装GIt和创建版本库

    ▓▓▓▓▓▓ 大致介绍 前面一片博客介绍了Git到底是什么东西,如果有不明白的可以移步 Git学习之路(1)-Git简介 ,这篇博客主要讲解在Windows上安装Git和创建一个版本库 ▓▓▓▓▓▓ ...

  2. Git学习之路(5)- 同步到远程仓库及多人协作问题

    ▓▓▓▓▓▓ 大致介绍 我们写好文件后添加到版本库,但是这样还没有做完,我们还需要将它同步到GitHub的远程仓库上,这里就以我们刚开始的drag项目为例,我们在Git学习之路(2)-安装GIt和创建 ...

  3. 菜鸟级的Git与GitHub使用总结(转)

    菜鸟级的Git与GitHub使用总结 原创 2016年12月01日 14:58:30 1792 前言 这几天一直在折腾学习Git和GitHub的使用.几天下来,在网上查阅了大量的资料,总算有一些成果. ...

  4. Git学习之路(6)- 分支操作

    ▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...

  5. Git学习:如何登陆以及创建本地代码仓库、并提交本地代码至Github(最简单方法)

    在我们的实际开发当中,代码经常会被公司要求上传到网络上,能够大家共同完成一个项目,因此掌握git技能也是一项必不可少的技能了,这里我们来学习以下基本的git操作.首先我们要想使用git这个东西需要把它 ...

  6. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  7. 【学习总结】Git学习-参考廖雪峰老师教程八-使用GitHub

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  8. 个人github链接及git学习心得总结

    个人github链接 https://www.github.com/liangjianming/test git学习心得总结​ git是一个快速,开源,分布式的版本控制系统. GitHub是一个基于w ...

  9. git学习(一) 如何将项目上传到github

    用了github有了段时间,但是感觉都是断断续续的,这次花了点时间来总结下,已方便下次忘记的时候拿出来看一下: 自己主要是参考了这个网站来学习的: git教程 -廖雪峰 第一步: 创建github账号 ...

随机推荐

  1. ffmpeg 命令2

    ffmpeg常用基本命令(转) [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_vid ...

  2. 一些常用的集合工具的代码块(缓慢更新XD,更新了多属性过滤:) )

    更新记录 虽然经常放鸽子,但是还是要记录一下更新 2017.8.30 更新了listToMap的方法,现在可以指定多个属性进行分组了,例如你要指定一个学生集合,按照名字和年龄相同的放在一组,现在只要调 ...

  3. iterable -------JavaScript

    本文摘要:http://www.liaoxuefeng.com/ 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Arra ...

  4. 魅族MX3 Flyme3.0找回手机功能支持远程拍照密码错两次自动拍照

    进入Flyme页面(http://app.meizu.com/),选择“查找手机”即可进行查找自己登记的魅族系列手机. 如果您在一个账号下登记过N多魅族系列手机,那么都是可以进行查找的,参见下图 魅族 ...

  5. C#的接口基础教程之二 定义接口

    定义接口 从技术上讲,接口是一组包含了函数型方法的数据结构.通过这组数据结构,客户代码可以调用组件对象的功能. 定义接口的一般形式为: [attributes] [modifiers] interfa ...

  6. java Html&JavaScript面试题:用table显示n条记录,每3行换一次颜色,即1,2,3用红色字体,4,5,6用绿色字体,7,8,9用红颜色字体。

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 二十六、MySQL 临时表

    MySQL 临时表 MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. 临时表在MySQL 3.23版本中添加,如 ...

  8. 2.在Cisco Packet Tracer里交换机默认网关的配置(实现跨网段telnet)

    我们将在此拓扑图的基础上进行实验 大多命令都可用tab键位来补齐 1.分别给pc机设置好ip地址 pc2为:192.168.1.1 pc3为:192.168.2.1 两台计算机处在不同的网段之中 2. ...

  9. LeetCode949-给定数字能组成的最大时间

    问题: 给定一个由 4 位数字组成的数组,返回可以设置的符合 24 小时制的最大时间. 最小的 24 小时制时间是 00:00,而最大的是 23:59.从 00:00 (午夜)开始算起,过得越久,时间 ...

  10. SQL Server字符串聚合拼接办法

    数据范例如下: 要得到的结果目标,获取type相同的所有names拼接在一起的字符串: SqlServer并没有一个直接拼接字符串的函数,下面所提到的方法,只是日常的开发中自己个人用到的一些思路,仅供 ...