1:更新: 更新后,更新只在Workspace中,没有到暂存区。git status可以查看当前状态。

git add <file>  可以放到待提交区。

        git  checkout --<file>   可以放弃更改 ,  本地的修改都会被覆盖

2: 对于已经提到待提交区的:

git   reset   HEAD   <file>    可以把文件在放回workspace。

git  commit -m   "message"   可以提交文件

3: 对于已经commit的,

git log  // 查看commit的历史记录。

git revert HEAD    // 撤销最近大一个提交

4: git diff:               //workSpace中的文件和暂存区文件的差异。

git diff HEAD~n              // workspace中的状态和REPO中的状态进行diff.

5  综上所述,   撤销更新:更新存在3个地方:  workspace,   Stage,  repo中,

A: 撤销WorkSpace中的更新:git checkout -- <file>   //这种方式已定要谨慎,撤销后找不回来

B: 撤销stage中的更新:   git reset HEAD <file>                     //   把暂存区的文件移动到workspace

git rest  --hard HEAD            //       是不可以恢复的

C:撤销repo中的更新:

git log  // 查看commit的历史记录。   git revert HEAD    // 撤销最近大一个提交

6  : q    //退出VIM模式。

7: 查看远程版本库信息

git  remote show

8: 创建分支:     git  branch develop

这个分支新建后,是在本地,如何推送到remote呢?

git push --set-upstream origin hhh

9:  切换分支:      git checkout develop

10:   列出本地分支:  git branch

列出远程分支: git branch -r

     列出所有本地和远程分支:  git branch -a

11:     git branch   branchname               //  创建新分支,但是不切换过去

git  checkout  branchname          //   切换到一个存在的分支

git checkout -b [branch]                //   创建新分支,并切换到该分支(把上两步骤合并)

12: 删除分支:

首先当前分支不是要删掉的的分支

      git branch -D   branchtodelete

git  branch   -D   -r     origin/XXX  //  删除远程分支,可以先用git branch -r  列出远程分支

13: 基于某个分支创建新分支

git branch   XXX    //  就是基于当前所在的分支创建新分支

git checkout -b   newbranch     baseBranch    //  基于basebranch创建newbranch.

14:   git  自动补全的功能

在运行 git add 和 git branch -D  的时候,按Tab键,发现有自动补全的功能

15:git stash:

git stash save -a "messeag"            //   把workspace的内容加入到stash 栈中

  git stash list       //  列出stash

Dell@DESKTOP-OSTGSI3 MINGW64 /d/eclipseWorkSpace/maven-web-sample (master)
$ git stash list
stash@{}: On master: message
stash@{}: WIP on master: be28beb toreset Dell@DESKTOP-OSTGSI3 MINGW64 /d/eclipseWorkSpace/maven-web-sample (master)
$

    git stash pop stash@{0}  //   把最近的stash内容更新到workspace, 并且从栈中删除

再执行  git stash list       //  列出stash

stash@{}: WIP on master: be28beb toreset

   git stash apply <stash@{id}>  //  与git stash pop不同的是,这个执行完后,在stash栈中不删除

   git stash drop <stash@{id}>      // 把stash中的指定的drop掉

    git stash pop      //   不指定名字,弹出最新的

16:   merge  VS   rebase:

待续

最新文章

  1. win2008R2 下解决关于mysql odbc无法正常工作问题
  2. HDU 2825 Wireless Password(AC自动机+DP)
  3. ASP.NET Web API 通过Authentication特性来实现身份认证
  4. C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
  5. iptables端口重定向
  6. jQuery带有定时器的tab栏切换
  7. Bootstrap入门(十五)组件9:面板组件
  8. 珍藏版Chrome插件送给你们,不仅是程序员必备
  9. 【Python全栈-JavaScript】jQuery效果
  10. Java语法 [开发环境搭建]
  11. Ubuntu 下搭建 Android 开发环境(图文)
  12. 浅谈如何正确给table加边框
  13. Session和Cookie的理解
  14. 无锁并发框架Disruptor学习入门
  15. SVG.js 颜色渐变使用
  16. commonCookie.js
  17. linux下给php安装memcached及memcache扩展(转)
  18. Python168的学习笔记8
  19. mysql获取随机数据的方法
  20. Java多线程编程核心技术,第四章

热门文章

  1. ubuntu 下使用vi时方向键乱码,退格键不能使用
  2. HDU 5925 离散化
  3. 测试人员git常用命令
  4. 解决fasterxml中string字符串转对象json格式错误问题
  5. python基础1 - 多文件项目和代码规范
  6. spring boot: 计划任务@ EnableScheduling和@Scheduled
  7. phalcon 连接多个数据库 phalcon multi-database
  8. TCP 3次握手建立连接
  9. 伪Excel导出新版代码
  10. 交换排序—快速排序(Quick Sort)原理以及Java实现