Elton's Blog

Git学习笔记(6) — 独立开发者所用的命令(b)

by Elton on 2009年07月22日, under Linux

git commit 将当前在index中变化的内容提交到仓库(repository)中
语法:

  1. git commit [-a | –interactive] [-s] [-v] [-u] [–amend] [(-c | -C) ] [-F  | -m ] [–allow-empty] [–no-verify] [-e] [author=] [cleanup=] [] [[-i | -o ]]
  1. 使用git add命令可以持续的将变动或者新增的内容添加到index中。
  2. 使用git rm 可以将文件从woking tree和index中移除。
  3. 作为参数列在后面的文件,将忽略在index中的变化,而直接使用当前的内容作为提交内容。(例如你之前add过这个文件,但是在add后,又修改过且没有再次add)
  4. 使用-a参数就自动将所有变化的文件执行add操作(这些文件曾经都被add到index中),并将所有在working tree中移除的文件从Index中移除,之后再进行commit

git-reset 重置当前HEAD到指定的状态
适合与你发现刚才作的一些操作是错误的,要Undo一些操作
语法:

  1.  
  2. git reset [–mixed | –soft | –hard | –merge] [-q] [<commit>]
  3. git reset [-q] [<commit>] [] <paths>…
  4.  

–soft,表示不变更working tree和index
–hard,表示working tree和index一同变更

例子:
Undo一个commit再Redo

  1.  
  2. $ git commit …
  3. $ git reset –soft HEAD^      回退到上一次commit,并不改变workingtree和index
  4. 编辑一些内容
  5. $ git commit -a -c ORIG_HEAD  再次按照原来的HEAD的注释提交,-c表示使用原来的commit时候的注释
  6.  

永久的回退

  1.  
  2. $ git commit …
  3. $ git reset –hard HEAD~3   //永久删掉HEAD,HEAD^和HEAD~2三个版本
  4.  

git checkout 切换当前分支
git checkout 切换到分支
git checkout -b 建立新分支并切换上去
git checkout -b v2 从某一个start point开始创建新分支,并切换上去
git checkout v2.3 将当前HEAD从现有分支上解除,直接指向新的tag版本 1.5以后支持。

例子:
切换分支到master,将Makefile文件回退两个版本,错误删除了hello.c,再从index中恢复

  1.  
  2. $ git checkout master             (1)
  3. $ git checkout master~2 Makefile  (2)
  4. $ rm -f hello.c
  5. $ git checkout — hello.c            (3)
  6.  

相关文章:

  1. Git学习笔记(7) — 独立开发者所用的命令(c)
  2. Git学习笔记(5) — 独立开发者所用的命令(a)
  3. Git学习笔记(2) — 分支控制(branch)
  4. Git学习笔记(3) — 标记(tag)
  5. Git学习笔记(1) — 创建和修改项目
:

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit my friends!

A few highly recommended friends...