主要命令:

$ 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. HDU5818 Joint Stacks 左偏树,可并堆

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - HDU5818 题意概括 有两个栈,有3种操作. 第一种是往其中一个栈加入一个数: 第二种是取出其中一个栈的顶 ...

  2. P1219 八皇后 含优化 1/5

    题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 ...

  3. 各种浏览器下的页面元素xpath获取方法

    参考链接: http://blog.sina.com.cn/s/blog_654c6ec70100v1i2.html

  4. 设置cookie,获取cookie,删除cookie,修改cookie

    怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解 在操作cookie之前,先来看一下cookie长什么样. 可以看到,cookie是一个个键值对(“键=值”的形式)加上 ...

  5. POJ 3304 Segments (叉乘判断线段相交)

    <题目链接> 题目大意: 给出一些线段,判断是存在直线,使得该直线能够经过所有的线段.. 解题思路: 如果有存在这样的直线,过投影相交区域作直线的垂线,该垂线必定与每条线段相交,问题转化为 ...

  6. 华为机型cordova-plugin-image-picker读取图库闪退

    在测试cordova开发的安卓APP过程中,使用$cordovaImagePicker.getPictures(options)获取相册照片时,华为机型总是会闪退. config.xml已经添加了权限 ...

  7. 洛谷.3690.[模板]Link Cut Tree(动态树)

    题目链接 LCT(良心总结) #include <cstdio> #include <cctype> #include <algorithm> #define gc ...

  8. nginx 方向代理 jenkins

    环境 10.0.0.20 Nginx 10.0.0.21 jenkins 10.0.0.20 nginx 进入到nginx目录,去除无用字段输入到conf.d/jenkins.conf 文件中 [ro ...

  9. apache hive 1.0.0发布

    直接从0.14升级到1.0.0,主要变化有: 去掉hiveserver 1 定义公共的API,比如HiveMetaStoreClient 当然,也需要使用新的beeline cli客户端. 不过最值得 ...

  10. 中国非正常死亡最高的行业 TOP 10

    1月2日晚,佟大为等艺人.业内人士及小马奔腾集团员工纷纷在朋友圈或微博上发布消息,小马奔腾集团董事长李明因心肌梗塞于当晚去世,年仅47岁. 这再次将创业者和职场人士健康问题推到了公众面前,而就在去年中 ...