git个人笔记,欢迎追加,指正

git命令太多了,做下笔记

使用git log 查看提交的日志

     $ git log  #不带参数时将会显示所有的修改记录,最新的在上面,使用上下键浏览.
     $ git log -p #显示版本间的代码差异
     $ git log -2 #显示两条提交的日志
     $ git log --since="8 hours" #查看最近8小时内的修改
     $ git log --before="8 hours" -2  #查看8小时前的两次修改
     $ git log 13a24fa..03bafb23  # 最老版本..最新版本之间的日志,HEAD 代表最新版本,HEAD可以省略 
     $ git log --pertty=format:"%h %s" #git log的输出格式 %h代表哈希值的缩写,%s代码提交留言的第一行
     $ git log -2 HEAD^ #代表最新版本之前的版本的前两次
     $ git log --graph --all #查看所有分支

使用git diff 查看版本之间的差异

     $ git diff 18f822e   # 显示18f822e这个版本和当前是工作目录树之间的差别.
     $ git diff 18f822e..4324af4 #显示18f822e 4324af4两个版本之间的差别
     输出格式
     /dev/null 标记这个文件是删除了还是新增 ,+++/dev/null表示删除 ,-- /dev/null 表示新增
    --- a/lib/file
    +++ b/lib/file
     表示从一个文件到另一个文件,更新文件
    git diff 59189..HEAD --name-only 只显示修改的文件名

git branch

   创建本地分支: git branch branchname
    切换分支:git checkout branchname
    查看远程分支: git checkout -b newbranch origin/devlop
    从该清单中筛选出你已经(或尚未)与当前分支合并的分支git branch --merged ,git branch --no-merged
    删除本地分支: git branch -d branchname
    删除本地远程分支: git branch -d -r origin/remote_branchname
    提交本地分支到一个远程分支: git push origin loca_branch:remote_branch    #如果没有remote_branch,则会新建一个远程分支
    删除远程分支: git push origin :remote_branch

git reset

     git reset --hard HEAD^ 还原到上一次的提交
     git reset --soft HEAD^ 取消最近一次的commit,内容还是和commit前的一样

git checkout

git checkout -f branchname 当你想checkout到另一个branch时,会因为当前branch中有一些没有提交的文件而不能checkout, 加上-f参数可以强制checkout,但当前的修改就会丢失 

*当前分支的修改就会丢失,可以得用这个方法还原你的分支,当你在当前分支做了很多degub,而使得很多不需要提交的文件处于modify状态时, 可以使用些方法还原.

git update-index -?

   git update-index --assume-unchanged aa.pm   #忽略aa.pm的更新

 git commit

$ git commit --amend 
#修改commit msg

git stash >>  http://git-scm.com/book/zh/Git-%E5%B7%A5%E5%85%B7-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89

$ git stash 
$ git stash pop

 

 

后续更新。。。

 

posted @ 2012-05-18 10:02  Sheldon.Dai  阅读(1151)  评论(0编辑  收藏  举报