Git-基本操作(图文)

场景一: 已经用git add 命令把文件加入到暂存区了,这个时候想退回怎么办?

  添加文件到暂存区 :git add .

  将单个文件撤回到工作区:git rm --cached [文件路径]

  将目录撤回到工作区:git rm -r --cached [文件目录]

 

或者使用 git reset HEAD

 

场景二:如果想退回并且在硬盘上删除这个文件

  git rm -f [文件路径]

场景三:回退到上一个版本

  添加文件到暂存区 :git add .

  提交文件:git commit -m '第一次提交'

  回退到上一个版本:git reset HEAD^

场景四:回退到某个版本的add过的状态

  已经commit过的文件,想回退到add之后的状态: git reset --soft [提交版本号]

场景五:直接将HEAD指向这个commit

  git reset --hard [提交版本号]

场景六:commit之后发现漏了几个文件没有添加,或者提交信息写错了。

  git commit -m 'initial commit'

   git add [forgotten_file]

   git commit --amend

或者用 git commit -a -m 'added new benchmarks' 这一条命令搞定

 场景七:git log操作

$ git log 查看所有commit信息
$ git log --pretty=oneline  更简洁的查看log信息(只有commit号和描述信息)
$ git reflog  查看所有的git操作过的命令,可以找到删除了的commit号
$ git log --graph  查看分支合并图
$ git log -p pt_basicline/src/main/webapp/WEB-INF/views/hospitalMange/hosmange.vm  显示每次提交的内容差异
$ git log -2 pt_basicline/src/main/webapp/WEB-INF/views/hospitalMange/hosmange.vm  显示最近两次提交
$ git log -2 pt_basicline/src/main/webapp/WEB-INF/views/hospitalMange/hosmange.vm  
$ git log -stat  看到每次提交的简略的统计信息

 

场景八:在git中对文件改名

  git mv file_from file_to

场景九:分支切换暂存修改过的代码

  我们在A分支上面进行开发,开发到一半,老板突然说要去做另一个任务,要在B分支上开发。这个时候我不得不把在A分支上开发了一半的代码做commit操作然后切换到B分支上面。这样做就会在git log中多出了

很多不必要的提交日志。我们可以用git stash命令暂时把A分支上面未开发完的代码压入栈中暂时做个备份。

  命令预览:

  git stash : 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

  git stash save 'test': 添加注释 

  git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

  git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

  git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

  git stash apply stash@{1} 恢复制定版本的备份。

  实战:

  1、在A分支上修改了代码,用git status看一下

  2、用git stash 把修改过的代码压入栈备份。然后再用git status看一下。我们看到暂存区没有修改过的文件了。然后切换其他分支工作,工作好之后切换回来恢复修改过的代码

  3、先用 git stash list 看一下git栈内所有的备份

  4、用git stash apply stash@{0} 选择要恢复的版本 

  5、再git stash list 看一下

  6、还是有4个栈备份,我们用 git stash clear清理一下,然后再用 git stash list 看一下。发现什么都没有了

  7、我们再git stash 然后 git list 看一下

  8、用 git stash pop 试一下

 

参考:

  廖雪峰官网

  博客,http://www.cppblog.com/deercoder/archive/2011/11/13/160007.aspx

posted @ 2017-12-11 19:23  寻找风口的猪  阅读(613)  评论(0编辑  收藏  举报