创建: 2017-04-05 17:04:03

        2017-04-24
更新: 2017-05-16
更新: 2017-06-27  完善git remote add 
更新: 2017-07-04  完善git pull origin master这种pull其他分支的
                             创建时间改为创建
                             增加commit与issue关联
                             删除远程仓库,push到其他远程仓库的分支(已有,加粗)
更新: 2017-09-02  增加rebase, 并且增加取消的说明(git rebase branch-name --abort)
更新: 2017-09-05  增加git reset 详细说明 http://blog.csdn.net/hudashi/article/details/7664464/
更新: 2017-10-28  增加git clean, git reflog show
更新: 2017-11-20  增加git commit --amend
更新: 2017-11-21  增加git rebase -i HEAD~2
更新: 2018-01-22 增加重命名本地分支 git branch (-m | -M) [<oldbranch>] <newbranch>
                          增加切换追踪的分支 git branch -u remote-name/branch-name
更新: 2019-02-12 补充 切换追踪的远程分支 的说明与例子
更新: 2019/03/18 补充git branch的option --all --remote
更新: 2019/05/18 补充切换跟踪分支的例
 
命令 含义 注释 
     
     
 git config ...   设置本地变量  
 git config --global ... 设置全局变量  
 git config --global --list  查看全局变量  --list = -l
 git config --list  查看所有变量  
     
     
     
     
 git clone [url] 克隆已有仓库 git clone [url] abc  abc为 别名(本地文件名)
 git add  追踪新文件或者把已修改文件暂存                                   
 git commit  将暂存文件提交到本地仓库(repository)  -a自动add,跳过上一步
 -m "..."直接添加信息
 关联issue 信息里面增加#issue编号
 修改最新commit git commit --amend
 git diff  查询变化  different;-staged显示已暂存的
 git status  查询文件状态(修改,暂存)  -s 或者--short后为通用简写
 git rm  删除文件并从暂存区也删除文件  -f 不知道什么用处,测试后没区别
 \*~  所有以~结尾的文件(后缀) \*后接的是后缀
 \*.log  所有以.log结尾的文件 \*后接的是后缀
 git mv file_from
file_to 
给文件改名并应用于git 相当于mv + git rm + git add
 git log   查看commit(提交)历史  -p 显示差异 -n 列出最近n次
 git reset HEAD  取消暂存的文件 尽量不要附加选项,危险
 git checkout --  撤销对文件的修改  尽量不用,老文件会直接覆盖新文件!不可撤销
     
git remote  查看已连接的远程仓库  -v 附加远程仓库地址
show [remote-name] 显示某一远程分支详情
 git remote rename  
   
   
 git remote add 别称 网址   新增远程仓库  git remote add origin ...
 git remote remove 别称 网址   删除远程仓库  
 git push origin :br-name   删除远程分支  git push -d origin test
 git push --delete origin test
 git push origin :test三个等价
 git push [] [] [tag-name]  提交标签  --tags 提交所有标签
 git push [remote-name] [branch-name]  将本地仓库推送到远程仓库  后两个默认origin和master
 git fetch
[remote-name] 
从远程仓库拉取(更新) 并不会合并到本地仓库,需要手动
git merge  branch name  合并fetch抓取到的信息到本地分支  
 git rebase branch-name  合并fetch抓取到的信息到本地分支   合并commit git rebase branch-name -i
HEAD~(前几次)

取消 git rebase --abort

git rebase -i HEAD~2 
合并commit

     
     
 git pull  从远程仓库拉取并合并本地分支  拉取其他分支
 git pull origin master
     
 git tag  显示所有标签  
 git tag  -l
 ""/''/
 检索标签  "v1*" = 'v1*' = v1*
 git tag -a  [tag-name] 创建附注标签  
 git tag [tag-name] 创建轻量标枪   
     
 git branch  显示当前所有分支

-v 显示所有分支最后一次提交
--merged 显示已合并分支,都可删除
--no-merged 显示未合并分支,不可删除。强制删除用-D
--v 查看所有本地分支分别跟踪的分支等情况

 -r (--remote) 显示远程分支
 -a (--all) 显示全部分支(local+remote)
 git branch [bran-name]  创建新分支  -d 删除分支
 git branch (-m | -M) [<oldbranch>] <newbranch>  重命名本地分支  
 git branch -u remote-name/branch-name

切换追踪的远程分支

(push等操作的远程对象)

git branch -u origin/new_branch
git branch -u origin/feature/hide_public_confirmation
 git checkout [bran-name]  移动HEAD到当前所在分支。切换分支  *指向当前所在分支
 git checkout -b [bran-name]  创建新分支并切换过去  git branch [bran-name]
 git checkout [bran-name]
 git checkout -b [branch-name]
[remote-name]/[branch-name]
 下拉并跟踪远程分支  git  checkout --track
[remote-name]/[branch-name]  简化写法
     
     
     
 git merge [bran-name] 将指定分支合并到当前分支   
     
 git reset --hard [num] 回滚到序列号所指的版本   [num]在这里指版本号
 git cherry-pick [num]  将其他分支的commit复制一份到当前分支  [num]在这里指版本号
     
 git clean -n/-f/-d  删除没有 git add 的 文件  -n 显示将要删除的文件和目录

-f 删除文件

-d 删除目录

 git
reflog show 
 显示所有commit  
     

git 基本命令详细解释的更多相关文章

  1. git使用详细介绍

    1. Git概念 1.1. Git库中由三部分组成        Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而 ...

  2. git使用详细过程

    1. Git概念 1.1. Git库中由三部分组成        Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而 ...

  3. Git基本命令行操作 (转)

    Git远程操作详解   作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...

  4. 图解 Git 基本命令 merge 和 rebase

    Git 基本命令 merge 和 rebase,你真的了解吗? 前言 Git 中的分支合并是一个常见的使用场景. 仓库的 bugfix 分支修复完 bug 之后,要回合到主干分支,这时候两个分支需要合 ...

  5. git基本命令-直接上手使用

    git基本命令-直接上手使用 此篇为直接是使用git,如果想了解其原理和其他详细信息,请关注我,看其它相关文章 git创建仓库(初始化仓库) 使用当前目录作为仓库 git init // 执行该目录后 ...

  6. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  7. .htaccess语法之RewriteCond与RewriteRule指令格式详细解释

    htaccess语法之RewriteCond与RewriteRule指令格式详细解释 (2012-11-09 18:09:08) 转载▼ 标签:  htaccess it 分类: 网络 上文htacc ...

  8. cookie的详细解释

    突然看到网页上中英文切换的效果,不明白怎么弄得查了查 查到了cookie 并且附有详细解释 就copy留作 以后温习 http://blog.csdn.net/xidor/article/detail ...

  9. tar命令的详细解释

    tar命令的详细解释 标签: linuxfileoutputbashinputshell 2010-05-04 12:11 235881人阅读 评论(12) 收藏 举报  分类: linux/unix ...

随机推荐

  1. 协议的注冊与维护——ndpi源代码分析

    在前面的文章中,我们对ndpi中的example做了源代码分析.这一次我们将尽可能深入的了解ndpi内部的结构和运作.我们将带着以下三个目的(问题)去阅读ndpi的源代码. 1.ndpi内部是怎么样注 ...

  2. C#压缩或解压(rar和zip文件)

    /// <summary> /// 解压RAR和ZIP文件(需存在Winrar.exe(只要自己电脑上可以解压或压缩文件就存在Winrar.exe)) /// </summary&g ...

  3. c/c++中static和extern使用

    c/c++中static和extern使用 在C/C++中static和extern都能够用来修饰函数和变量,可是是有差别的. 内部函数和内部变量:仅仅能在文件内使用的函数和变量. 外部函数和外部变量 ...

  4. iOS开发核心语言Objective C —— 面向对象思维、setter和getter方法及点语法

    本分享是面向有意向从事iOS开发的伙伴们.或者已经从事了iOS的开发人员.假设您对iOS开发有极高的兴趣,能够与我一起探讨iOS开发.一起学习,共同进步.假设您是零基础,建议您先翻阅我之前分享的iOS ...

  5. poj2595(凸包)

    Min-Max Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2192   Accepted: 502 Descriptio ...

  6. C++模板实现的AVL树

    1 AVL树的定义 AVL树是一种自平衡二叉排序树.它的特点是不论什么一个节点的左子树高度和右子树的高度差在-1,0,1三者之间. AVL树的不论什么一个子树都是AVL树. 2 AVL树的实现 AVL ...

  7. javascript 总结(持续更新)

    1.jQuery对象转DOM对象. jQuery对象转DOM对象有两种方法,[index]和get(index). var $cr = $("#cr"); //jQuery对象 v ...

  8. 数组index

    1. 数组index与数组名的位置关系     a[b] = *(a + b) = *(b + a) = b[a] int a[5] = {1, 2, 3, 4, 5}; printf("% ...

  9. WebService:JAX-WS实现WebService

    WebService和Java核心技术中的RMI一样用于实现异构平台上的应用程序之间数据的交互,唯一不同的是这样的技术屏蔽了语言之间的差异.这也是其大行其道的原因. 实现WebService的技术多种 ...

  10. 杭电(hdu)1181 变形课

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submi ...