创建: 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. BUPT复试专题—List(2015)

    题目描述 在该LIST上实现3种操作 1.append x在该LIST末尾添加x,x是32位整数 2.pop删除该LIST末尾的数 3.find i寻找第i个数,若i为负数表示寻找倒数第i个数,例如i ...

  2. C语言知识结构之二

    C语言的知识结构整理成思维导图,例如以下图所看到的: 这张图的总体思路是: 用C敲代码.该学会什么? 要用C写的更好,改学会什么? 事实上.仅仅要是分层的知识结构,大致的思路是: 首先,研究本层的知识 ...

  3. hdu 4707 Pet(DFS &amp;&amp; 邻接表)

    Pet Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. 2014MadCon厦门分享会-笔记(下)

    32 <如何与百度互动,不知道这些就不要做SEO了>百度站长平台资深产品运营师 曹丽丽(飞鸟) 33 注意百度站长平台的提醒.如果你不留电话,不留其他联系方式,出问题了,百度怎么提醒你呢? ...

  5. uva 1567 - A simple stone game(K倍动态减法游戏)

    option=com_onlinejudge&Itemid=8&page=show_problem&problem=4342">题目链接:uva 1567 - ...

  6. 【转载】FAT12格式的引导程序(2)

     1.用WinImage来写入到引导区的详细步骤: 启动WinImage后,打开“文件”菜单,单击菜单中的“打开”命令. 选择之前保存的磁盘镜像文件“boot.img”或者“boot.ima”. 打开 ...

  7. 【IOS工具类】IOS9的CoreSpotlight(OC语言)

    什么是CoreSpotlight?就是在IOS9下.让用户在下拉的搜索页面里能够搜索到你的应用. #import <Foundation/Foundation.h> @interface ...

  8. [网页游戏开发]容器的使用及自定义Tab,RadioGroup,List,ViewStack

    Morn里面,容器和其他普通组件不同,无需皮肤,所以也不能从组件树种拖动创建(Tab,RadioGroup例外),只能转换而来 Morn的容器组件主要有Box,Container,Panel,Tab, ...

  9. 使用virtualenv, uwsgi, nginx来布署flask

    本文讲述了怎样使用virtualenv, uwsgi, nginx来布署flask的步骤. 升级软件包 运行下面命令,保证你的机器安装了最新的软件包. sudo apt-get update sudo ...

  10. mysql 数据库连接

    1.需要mysql驱动包:mysql-connector-java-5.1.7-bin.jar 2. package com.jmu.ccjoin.web.controller; import jav ...