主要命令:

$ git checkout -- readme.txt    #使用暂存区或版本库中最新的版本替换工作区版本

$ git reset HEAD readme.txt    # 撤消指定文件的add操作,用版本库中的版本替换暂存区的版本

$ git rm test.txt        #提交删除操作

----------------------------------------------------------------------------------
$ git remote add origin git@github.com:michaelliao/learngit.git #为远程库添加origin版本,并将其与本地版本库绑定 $ git push -u origin master #将本地版本库master的内容推送到绑定的origin版本,第一次推送使用-u. $ git clone git@github.com:michaelliao/gitskills.git #在当前目录下新建版本库并拉取远端版本

7. 撤销修改

7.1. 对于还没有git add的修改,可以使用git checkout丢弃工作区的修改

$ git checkout -- readme.txt

readme.txt如果没有被git add,那么回到master库中的状态(即上一次git commit时的状态)

readme.txt如果已经git add了,又进行了修改,那么回到git add时的状态.

总的来说是回到最近一次git commit或git add时的状态.

7.2. 对于还没有git commit但已经git add的修改,可以用git reset HEAD file撤销修改

$ git reset HEAD readme.txt
Unstaged changes after reset:
M readme.txt

此时的操作只针对这个git add的文件,与之前都是针对版本(git commit)有不同.这时相当于回到git add之前的状态.

7.3. 对于已经git commit的修改,可以使用git reset -- hard HEAD^回到上一个版本

8. 删除文件

8.1. 删除文件之后,要同步到版本库则使用git rm

该命令与git add相似,都是将工作区的修改放入暂存区(不过一个是添加操作,一个是删除操作)

$ git rm test.txt
rm 'test.txt'

8.2. 删除文件之后发现删掉了,要回退则使用git checkout -- test.txt

git checkout 的功能是用(master)版本库里的版本替换工作区的版本

$ git checkout -- test.txt

9. 远程仓库

git不仅可以在本地提供代码仓库的服务,它更可以提供一种分布式的代码仓库服务.将代码托管到分布式代码仓库服务提供商Github.这个你就可以在任何一台机器上重建已存在Github上的代码仓库了.另外,因为Github上免费的代码仓库服务是公开代码的.因此,你可以在上面找到很多别人的代码clone到本地.

使用Github的服务需要在Github注册帐号并将本地的SSH Hey提交给Github to make pair of  local repo and Github account

步骤如下:

第1步:创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
上面的email地址要与你在github上的一致.
完成之后在.ssh目录下可以找到id_rsa与id_rsa.pub两个文件,pub文件是公钥,可以发给别人检测你用私钥(id_rsa)加密的内容 第2步: 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
点击'add ssh key',并把id_rsa.pub中的内容填入

10. 添加远程库

10.1 场景

你在本地建立了一个git库,需要在github上也建立同样的git库,然后将本地的内容同步到远端去.这样就可以在任何一台机器上对这个库进行修改了.

第1步: 登录github,Create a new repo
第2步: 输入repo name,点击create repository
第3步: 在本地repo目录下运行以下命令将远程repo与本地关联
$ git remote add origin git@github.com:michaelliao/learngit.git
第4步: 将本地库内容推送到远程,即将master推送到远端
git push -u origin master
这里的-u参数是将本地master与远程master关联

10.2 push master

在把本地master和远端origin关联之后只要使用以下命令就可以把本地的版本库推送到远端了

$ git push origin master

11. 从远程库克隆

11.1. 场景

已经有远程库了,需要从远程库克隆代码到本地.这里的远程库可以是别人的免费库,也可以是你自己的

11.2. 拉取

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

这条命令会在当前目录下创建gitskills文件夹作为工作目录.所以clone之前先请选好文件夹

Git教程学习(三)的更多相关文章

  1. Git教程学习(二)

    教程来自: Git教程(廖雪峰的官方网站) 主要命令: $ git log #查看已提交内容 $ git log --pretty=oneline #查看已提交内容(紧凑版) $ git reset ...

  2. Git教程学习(一)

    教程来自: Git教程(廖雪峰的官方网站) 学习Git的基本内容,对教程内容进行理解并脱水 1. Git简介 2. 安装Git 1. ubuntu上安装Git $ sudo apt-get insta ...

  3. Git-第三篇廖雪峰Git教程学习笔记(2)回退修改,恢复文件

    1.工作区 C:\fyliu\lfyTemp\gitLocalRepository\yangjie 2.版本库 我们使用git init命令创建的.git就是我们的版本库.Git的版本库里存了很多东西 ...

  4. 廖雪峰 Git教程学习笔记 原文 http://www.liaoxuefeng.com/

    一 .集中式与分布式        先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推 ...

  5. Git 教程(三):仓库与分支

    远程仓库 到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了, ...

  6. Git教程学习(五)

    14. 解决冲突 14.1. 场景 当分支A和分支B在同一个文件上都有修改时会出现冲突.常见的情况是从master分支的基础上生成了新分支dev,然后在dev上进行了修改并add&commit ...

  7. Git教程学习(四)

    12. 分支管理场景 多人协同工作时,你在优化代码X,需要较长时间才能完成,未完成之前会影响整体代码的使用.于是写完的代码不能提交到版本库,提交就会影响别人使用整体的代码.不提交你就失去了git的版本 ...

  8. 廖雪峰git教程学习笔记3

    commit是一串不便记忆的数字,为了方便记忆,引入tag,tag就跟HEAD一样,就像一个指针,指向commit,且指向是不能变得,一个commit就有一个tag 给当前分支下的当前commit打上 ...

  9. 廖雪峰git教程学习笔记2

    本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...

随机推荐

  1. 1.HTTP协议|web框架

    1.web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

  2. Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

    PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...

  3. curl 文件上传

    curl_file_create (带路径的文件名 [, 文件mimetype , 上传数据里的文件名] ) ; new cURLFile (带路径的文件名 [, 文件mimetype , 上传数据里 ...

  4. 最短路(Bellman)-Hdu1874畅通工程序

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目: 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城 ...

  5. Python打包方法——Pyinstaller (转)

      Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后 ...

  6. Linux 运行Python文件,不因终端关闭而终止运行

    在Linux服务器运行py文件时,有时会因为终端窗口的关闭而结束py文件的执行,这时候使用下面的命令运行py文件: $nohup python filename.py & 命令解释: nohu ...

  7. jquery监听input元素输入

    一般我们监听input内容的变化都是通过onchange()事件来绑定,但这个做法有一个缺陷就是只有当正在被输入的input元素失去焦点时(即鼠标点击了别处)才会触发,而实际上我们往往希望能够满足在用 ...

  8. thumbs.db是什么文件

    thumbs.db是什么文件  这是图片缓存文件 Thumbs.db文件是一个数据库,里面保存了这个目录下所有图像文件的缩略图(格式为jpeg) thumbs.db删除不掉 反射获取某个类的 所有字段 ...

  9. u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .

    u3d 楼梯,圆环,椭圆,直线运动.世界坐标.点击. U3d stair, ring, ellipse, linear motion.World coordinates.Click . 作者:韩梦飞沙 ...

  10. HDU.2516.取石子游戏(博弈论 Fibonacci Nim)

    题目链接 \(Description\) 1堆石子有n个.两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍,取完者胜.问谁能赢. \(Solution ...