zoukankan      html  css  js  c++  java
  • git 常用指令

    查看当前代码状态:git status
    显示内容:
              changes to be commited       表示将要提交但是尚未提交的修改(已经add但是尚未commit),也就是在stage区域已经有了,但是还没有commit的内容
    
               changed but not updated       表示已经修改但是还没有添加到暂存区的内容(尚未add,当然尚未commit)
                             
    查看文件改动 git diff
    
    git diff    比较working directory和stage的差别
    
    git diff --cached   比较stage和history的差别
    
    git diff HEAD        直接比较working directory 和history的区别
    
    
    文件重命名: git mv
             git mv helloworld.txt helloworld2.txt    //将helloworld.txt重命名为helloworld2.txt
                     
    创建新分支:git branch test              //创建名为test的分支
    
    切换分支:git checkout test             //切换到test分支工作, 与上面的命令经常一起使用
    
    查看分支:git branch                      //查看前版本库(本地)的所有分支
    
    合并分支:git checkout master        //切换到“要合并到”的分支,常见的就是test分支合并到master分支,所以先切换到master分支
    
                  git merge test          //合并test分支到master分支
    
    注意: 在合并分支的时候有时候会出现冲突(conflict)的情况,创建的情况是master分支和test分支对同一文件的同一处代码的内容不一样(例如:master分支在hello.cpp中第三行写入的是"hello", 而test分支在hello.cpp的第三行中写入的是“world”),这样使得git不知道如何是好,这时候就需要你手工修改代码了,我难道要记住master和test在同一位置的内容?当然不用了,git会在git merge的反馈信息中说明,代码在何部分存在冲突。
    
    删除分支: git branch -d test          //删除test分支 
    
    分支重命名:git branch -m test test2      //将test分支重命名为test2,这个命令不常用
    
    查询git历史记录
    查询所有的commit历史:git log
    查询指定范围的commit历史: git log --since = "5 hours"                //查看最近5小时的commit历史记录
    
        git log --before = "5 hours" -2          //查看5小时之前最后2次的提交commit记录
    
          git log 18f822e..0bb3dfb                  //查看从18f822e(不包括18f822e)到0bb3dfb之间的提交记录
    
          git log 18f822e..HEAD                     //HEAD表示当前所在分支的最新版本,即HEAD指向当前所在分支的最后一次commit
    
          git log HEAD^^^                            //^表示父节点,HEAD^就表示HEAD的父节点,以此类推
    
          git log HEAD~3                               //~N 表示回溯N个节点,所以与上一个表述等价
    
     查看版本之间的差异:           git diff      //查看working dir和stage(index)之间差异
    
                               git diff  --cached          //查看stage(index)和History(当前分支版本库)之间的差异
    
                           git diff  HEAD              //查看working dir 和 History之间的差异
    
    问责文件内容:                     git blame hello.cpp                        //查看所用向hello.cpp提交内容的人,方便问责到人,谁,什么时候,提交代号,提交内容,留言等都会显示
    
    增补提交:                           git commic  -C HEAD -a --amend   //用head上次提交的留言(-C表示comments),将这次的提交追加到上一次提交上,不会创建新的提交代号
    
    版本库同步:                                            git fetch              //取来(fetch)远程版本库到本地,但是并不与本地分支合并                           
    
                                                                 git pull                //拖入(pull)远程版本库,与本地分支合并,相当于 git fetch + git merge 
    
    推送本地代码到远程版本库:       git remote add origin https://github.com/registername/reponame.git   //为远程版本库reponame取别名origin
    
                      git push origin master     // 将本地master分支推入github上的origin
                                                                 
       其他:
    还有不是很常用的操作简单,如果用到这些命令,可以参看git doc或者本文参考文献中所列的内容,参考链接:github官方tutorial:https://help.github.com/
    
    翻转提交:       git revert
    
    复位:            git reset
    
    分支变基:      git rebase
    
    标签:            git tag
    
    git子模块:     git submodule
    
    导出版本库:   git archive
    
    二分查找:      git bisect
  • 相关阅读:
    Java 数组
    【转】Centos 设置IP地址的几种方式
    【转】CentOS 使用yum命令安装出现错误提示”could not retrieve mirrorlist http://mirrorlist.centos.org ***”
    【转】CentOS图形界面的开启与关闭
    【转】linux Centos 6.5 安装桌面环境GNOME
    VirtualBox 更改主机和虚拟机之间的鼠标切换热键
    【转】Virtualbox虚拟机配置安装CentOS 6.5图文教程
    0622 python 基础05
    0617 python 基础04
    0610 python 基础03
  • 原文地址:https://www.cnblogs.com/allyh/p/10679927.html
Copyright © 2011-2022 走看看