创建: 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. shell 检查文件夹所属用户组

    shell 检查文件夹所属用户组 #!/bin/bash # 检查文件夹 权限是否777 检查文件夹所属组是否www # authro ranmufei # 2017 08 21 云板容器版 /dat ...

  2. Hadoop教程(一)

    英文原文:cloudera,编译:ImportNew – Royce Wong Hadoop从这里开始!和我一起学习下使用Hadoop的基本知识,下文将以Hadoop Tutorial为主体带大家走一 ...

  3. [Other]来做一个微信打印机吧 -- 微信打印的设计思路參考

    项目源代码地址:https://github.com/callmewhy/why-wechat-printer 近期微信打印机小火了一把.比方印美团.747微信打印机,都是利用微信公共平台实现照片的打 ...

  4. Hadoop 0.20.2+Ubuntu13.04配置和WordCount測试

    事实上这篇博客写的有些晚了.之前做过一些总结后来学校的事给忘了,这几天想又一次拿来玩玩发现有的东西记不住了.翻博客发现居然没有.好吧,所以赶紧写一份留着自己用吧.这东西网上有非常多,只是也不是全然适用 ...

  5. sessionFactory的创建和四种查询方式

    1,关于sessionFactory的创建 5.0版本之前,下面这种方式在5.0及之后,可能会出问题,建议修改为5.0之后的方式 // 实例化Configuration Configuration c ...

  6. Pattern: Microservice Architecture

    Microservice Architecture pattern http://microservices.io/patterns/microservices.html Context You ar ...

  7. mongo 原理 Replica Set Oplog

    [客户的写请求全部发送至主节点] Primary. The primary receives all write operations. Secondaries. Secondaries replic ...

  8. easyui tree的简单使用

    Tree 数据转换 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 ...

  9. 在无代码文件的aspx文件中添加类、函数和字段的方法

    大家都知道,在开始WebForm程序时,一个WebForm由.cs代码文件与.aspx页面文件组成.在aspx文件中可以嵌入C#代码,但无法在aspx的嵌入C#代码中定义类,函数和字段等.这样,就限制 ...

  10. java java.io.IOException: No locks available异常处理解决

    try {    randomAccessFile = new RandomAccessFile(file, "rw");    lock = randomAccessFile.g ...