菜鸟之路——git学习及GitHub的使用
首先,感谢廖雪峰老师的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的使用的更多相关文章
- Git学习之路(2)-安装GIt和创建版本库
▓▓▓▓▓▓ 大致介绍 前面一片博客介绍了Git到底是什么东西,如果有不明白的可以移步 Git学习之路(1)-Git简介 ,这篇博客主要讲解在Windows上安装Git和创建一个版本库 ▓▓▓▓▓▓ ...
- Git学习之路(5)- 同步到远程仓库及多人协作问题
▓▓▓▓▓▓ 大致介绍 我们写好文件后添加到版本库,但是这样还没有做完,我们还需要将它同步到GitHub的远程仓库上,这里就以我们刚开始的drag项目为例,我们在Git学习之路(2)-安装GIt和创建 ...
- 菜鸟级的Git与GitHub使用总结(转)
菜鸟级的Git与GitHub使用总结 原创 2016年12月01日 14:58:30 1792 前言 这几天一直在折腾学习Git和GitHub的使用.几天下来,在网上查阅了大量的资料,总算有一些成果. ...
- Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...
- Git学习:如何登陆以及创建本地代码仓库、并提交本地代码至Github(最简单方法)
在我们的实际开发当中,代码经常会被公司要求上传到网络上,能够大家共同完成一个项目,因此掌握git技能也是一项必不可少的技能了,这里我们来学习以下基本的git操作.首先我们要想使用git这个东西需要把它 ...
- Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)
不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...
- 【学习总结】Git学习-参考廖雪峰老师教程八-使用GitHub
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 个人github链接及git学习心得总结
个人github链接 https://www.github.com/liangjianming/test git学习心得总结 git是一个快速,开源,分布式的版本控制系统. GitHub是一个基于w ...
- git学习(一) 如何将项目上传到github
用了github有了段时间,但是感觉都是断断续续的,这次花了点时间来总结下,已方便下次忘记的时候拿出来看一下: 自己主要是参考了这个网站来学习的: git教程 -廖雪峰 第一步: 创建github账号 ...
随机推荐
- LeetCode OJ Container With Most Water 容器的最大装水量
题意:在坐标轴的x轴上的0,1,2,3,4....n处有n+1块木板,长度不一,任两块加上x轴即可构成一个容器,其装水面积为两板的间距与较短板长之积,以vector容器给出一系列值,分别代表在0,1, ...
- 在vue-cli中使用路由
1.首先npm中是否有vue-router 一般在vue-cli的时候就已经下载好了依赖包了 2.使用vue的话正常的需要涉及这几个文件 demo/src/router/index.js import ...
- go语言,爬取百度贴吧指定贴所有内容
初级爬虫,为了学习一下常用的goquery. goquery 配置 go get https://github.com/PuerkitoBio/goquery 会提示不支持https方式 解决方案: ...
- mongodb索引 全文索引使用限制
全文索引非常强大,但是同样存在很多限制,我们来看以下去全文索引的使用限制: 1.每次查询,只能指定一个$text查询 2.$text查询不能出现在$nor查询中 之前没有接触过$nor查询,$nor查 ...
- 使用webpack从零开始搭建react项目
webpack中文文档 webpack的安装 yarn add webpack@3.10.1 --dev 需要处理的文件类型 webpack常用模块 webpack-dev-server yarn a ...
- python_65_生成器1
# map()函数 # map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. # 例 ...
- 题解P3951【小凯的疑惑】
相信参加OI的oiers都是数学高手吧 我好像不是 (滑稽 那应该大家都接触过邮资问题吧! 所谓邮资问题,就类似于这一题,给定a和b两种邮资数,求最大的不能凑出的邮资 数.这里给出公式:最大的不能集出 ...
- IDEA Tomcat 日志和输出中文乱码问题
说明:该方法是在网上查找的其他方法均无效的情况下自己摸索出的设置.既然别人有效的设置在我这里无效,那么以下设置自然有可能无效.建议综合多个搜索结果进行尝试. 仅需要进行两处设置 1. 更改 IDEA ...
- Webpack--模块打包器
首先介绍一个安装webpack的百度经验:https://jingyan.baidu.com/article/a3a3f811230ee58da3eb8a6e.html 推荐一个详细介绍webpack ...
- 认识mysql(4)
今日是MySQL的第四篇,难度会稍微加大,加油! 开始吧! 1.外键(foreign key) 1.定义:让当前表字段的值在另一个表的范围内选择 2.语法: foreign key(参考字段名) r ...