git 基础命令

  • 查看ssh key 是否存在     
$ ls -al ~/.ssh
  • 存在ssh key,打印
$ cat ~/.ssh/id_rsa.pub
  • 不存在ssh key,则创建
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • 创建版本库

      git init

  • 查看文件的修改

      git diff <filename>
      git diff HEAD -- <filename> #查看工作区和版本库里面最新版本的区别

  • 查看提交历史

      git log #查看提交历史记录
      git log --pretty=oneline #查看提交的commitid 备注
      git log --graph --pretty=oneline --abbrev-commit #查看分支的合并情况
      git log --graph #分支合并图

  • 版本回退

      git reset --hard HEAD^ #回退1个版本
      git reset --hard HEAD^^^ #回退3个版本
      git reset --hard HEAD~100 #回退100个版本

      注意:如果你想回到回退前的那个版本怎么办,如果你有commitid,只需写前几位就可以啦
          git reset --hard <commitid>

          git reflog #查看命令历史,可以找到commitid

  • 撤消本地文件的修改

       git checkout -- <filename>

  • 删除文件

       git rm <filename>
       git commit -m '删除文件'

  • 远程仓库 github

      #创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,没有则创建
        ssh-keygen -t rsa -C "youremail@example.com"

      #要关联一个远程库,使用命令:
         git remote add origin git@server-name:path/repo-name.git

      #关联后,使用命令第一次推送master分支的所有内容:
         git push -u origin master

  • 从远程库克隆

       git clone ssh://....

  • 查看远程库信息

       git remote -v

  • 在本地创建和远程分支对应的分支

       git checkout -b branch-name origin/branch-name

  • 创建本地分支和远程分支的链接关系

       git branch --set-upstream branch-name origin/branch-name

 

  • 创建与合并、删除分支      

       方法一:  git checkout -b dev   #创建并切换到dev分支

       方法二:  git branch dev    #创建分支


       git checkout dev  #切换分支

       git branch  #查看当前分支

       git merge dev  #合并dev分支到当前分支

       git branch -d dev  #删除dev分支

 

      ****** git merge --no-ff -m "merge with no-ff" dev ******
      解释:

           --no-ff  用普通模式合并,合并后的历史有分支,能看出来曾经做过合并 

          -m 备注

 

  • 标签(tag)管理

       git tag <name> #创建标签
       git tag <tagname> commitid #根据历史提交的commit id创建标签

       git tag -a <tagname> -m "blablabla..." #指定标签信息 -a指定标签名,-m指定说明文字
       git tag #查看所有标签
       git show <tagname> #查看标签信息

       git push origin <tagname> #推送一个本地标签
       git push origin --tags #推送全部未推送过的本地标签

       git tag -d <tagname> #删除标签 git tag -d v1.0
       git push origin :refs/tags/v1.0 #删除远程标签

 

posted @ 2016-08-24 10:50  醉梦一生  阅读(163)  评论(0编辑  收藏  举报