1 删除文件

$ git rm filename

从已跟踪文件清单中移除,并连带从工作目录中删除指定的文件。

删除后,有2种选择:

(1)如果确实要删除,则使用git commit提交。

(2)如果不想删除,想恢复,则使用git checkout 来撤销修改

2. 撤销修改

$ git checkout -- filename

用暂存区中filename文件来覆盖工作区中的filename文件。相当于取消自上次执行git add filename以来(如果执行过)的本地修改。

例:$git checkout -- vimrc

与 git reset HEAD^ filename的不同:git reset HEAD^ filename回退文件的版本到上一个版本,不是暂存区中而是commit的。

例:$ git reset HEAD^ a.py

回退a.py这个文件的版本到上一个版本。

3. 对仓库中的文件直接改名

假如想对一个文件进行改名,我们不需要先删除文件,然后再添加修改名字的文件,而可以直接使用git mv命令。

$ git mv file_from file_to

4. 从远程仓库获取更新

有2个命令,git fetch和git pull,但这两者不同,要区分开。

$ git fetch origin

会抓取从上次克隆(或是上次 fetch )以来别人上传到此远程仓库中的所有更新。fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支。

$ git fetch origin master

抓取远程的origin仓库的master主分支下的最新的版本到本地的origin/master分支上。

$ git pull

从远程获取最新版本并merge到本地。相当于git fetch 和 git merge

$ git pull origin master

从远程获取最新版本的master分支并merge到本地。

最新文章

  1. [LeetCode] Convert Sorted List to Binary Search Tree 将有序链表转为二叉搜索树
  2. 基于Tomcat的Solr3.5集群部署
  3. PAT A 1119. Pre- and Post-order Traversals (30)【二叉树遍历】
  4. DS实验题 PlayGame Kruskal(UnionFindSet)
  5. 二维KMP - 求字符矩阵的最小覆盖矩阵 - poj 2185
  6. Lintcode: Expression Evaluation (Basic Calculator III)
  7. C/C++中函数参数传递详解(一)
  8. 【转】Javascript 严格模式详解
  9. QT学习篇:入门(1)
  10. [转]ActiveMQ 即时通讯服务 浅析
  11. javascript 学习笔记(权威指南)
  12. jconsole 连接 eclipse启动项
  13. Your kernel does not support swap limit capabilities.memory limit without swap
  14. A short Glimpse to Spectral Sequences 快速入坑谱序列(英文)
  15. Java 单字节、多字节读取文本文档中的内容
  16. Oracle简介及安装
  17. USB学习笔记连载(二十):FX2LP如何实现高速和全速切换(转载)
  18. Django之logging日志使用
  19. 用Navicat复制数据库到本地(导入.sql文件运行)
  20. Scrapy模拟登录GitHub

热门文章

  1. 仿SiteMap实现Asp.net 网站的菜单和权限管理
  2. linux下svn定时更新项目
  3. EasyUI Jquery 动态加载树,点击节点加载
  4. [JS2] JS是弱类型
  5. Spring-Context之二:使用Spring提供的测试框架进行测试
  6. 在Mac OS上安装Vagrant和Docker的教程
  7. 【Android】Android内存机制,了解Android堆和栈
  8. Atitit.软件兼容性原理与实践 v3 q326.docx
  9. TF Boys (TensorFlow Boys ) 养成记(二)
  10. 分析system_call中断处理过程