git status

git status -s

git diff

git diff --cached

--添加到暂存区成为快照

  git add -A

  git add .

--删除被git追踪的文件

  git rm [file]

  git rm --cached [file]  只删除暂存区,保留工作区(支持glob匹配莫斯)  

--重命名文件

  git mv [file]

--查看历史

  git log

  git log -p 2

  git log --stat

  git log --pretty=oneline

  git log --pretty=format:"%h - %an, %ar %s"

  git log --pretty=format:"%h %s" --graph

  git log --since=2.weeks

  git log --pretty="%h - %s" --authr=gitster --since="2017-10-01" \

  --before="2017-10-30" --no-merges -- t/

--修改操作

  git commit --amend [file] 用暂存区的内容覆盖最后的提交, 并修改最后一次的commit信息

--取消暂存

  git reset [file]   把head和分支名的引用指向我们这个commit

          //--mixed(默认): 还原暂存区

          //--hard:     还原工作区 和 暂存区

          //--soft:       不还原

  *注: 命令git reset HEAD file意思就是: 用此刻head上的已提交的内容覆盖暂存区**(默认是--mixed: git reset --mixed HEAD file)

    命令git checkout -- readme.txt意思就是: 用此刻head上的已提交的内容回到这个文件最近一次git commit或git add时的状态。

--撤销修改

  git checkout -- [file]  


远程仓库的使用

-- 查看远程仓库

  git clone <url>        命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或不管是什么名字的默认分支)。

                 运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。

  git remote -v

--添加一个远程仓库

  git remote add origin2 <url>  现在你可以用origin2来代替URL

                 例如: git fetch origin2

  git remote -v

  

--从远程仓库抓取与拉取

  git fetch [remote-name]   拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

               它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

  git pull          如果你有一个分支设置为跟踪一个远程分支, git pull 命令来自动的抓取然后合并远程分支到当前分支

--推送到远程仓库

  git push [remote-name] [branch-nane]

  git push origin master    master 分支名扩展为 refs/heads/master:refs/heads/master

-- 查看远程仓库

  git remote show [remote-name]

--远程仓库的删除和重命名

  git remote rename [old-remote-name] [new-remote-name]

  git remote rm [remote-name]


 标签

--查找标签

  git tag -l 'v1.8.2*'

--创建标签 轻量标签(lightweight)与附注标签(annotated)

  git tag -a v1.4 -m 'version 1.4'  附注标签

  git show            输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。

  git tag  v1.4-lw

--后期打标签 

  git log --pretty=oneline

  git tag -a v1.2 9fceg01

--共享标签

  git push origin v1.2

  git push orgin --tags  这将会把所有不在远程仓库服务器上的标签全部传送到那里。

--检出标签

  git chekout -b version2 v2.0.0  在特定的标签上创建一个新分支

                 如果在这之后又进行了一次提交,version2 分支会因为改动向前移动了,那么 version2 分支就会和 v2.0.0 标签稍微有些不同,

                 这时就应该当心了。


分支

  git checkut -b hotfix origin/master  //以origin/master为起点创建分支(此时hotfix相当于master了)

    git commit -am "xxx"

  git checkout master

  git merge hotfix  快进(fast-forward)

  git branch -d hotfix

  git checkout iss53

    git commit -am "xxx"

  git checkout master

  git merge iss53

  git status  /  git commit -am "xxx"  如果有冲突,解决

  

git branch -v

git btanch --merged

git branch --no-merged

  


远程分支


--推送本地分支

  git push origin serverfix         推送serverfix分支

  git push origin sererfix:awesomebranch   你可以把本地分支推送到某个命名不同的远程分支

  git fetch origin     当你的协作者再次从服务器上获取数据时,他们将得到一个新的远程分支 origin/awesomebranch,并指向服务器上 awesomebranch 所指向的版本

  

  git merge origin/awesomebranch    把该远程分支的内容合并到当前分支

--跟踪远程分支

  git checkout -b [分支名] [远程名]/[分支名]

  git checkout --track origin/serverfix  

  git checkout -b sf origin/serverfix    起别名  

--删除远程分支

  git push [远程名] [本地分支]:[远程分支] 语法,如果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]

  git push :serverfix          //删除远程分支

    git branch -d serverfix      //删除本地分支

    git push --delete origin serverfix  //删除远程分支

--衍合 变基

  git checkout expreiment

  git rebase master    //变基操作

  git checkout master

  git merge expreiment  //此时的三方合并, 变成了快合并, 成一条线性的历史

  注: 不要对在你的仓库外有副本的分支执行变基。也就是一旦分支中的提交对象发布到公共仓库,就千万不要对该分支进行衍合操作。

  加入你或你的同事在某些情形下决定要这么做, 请一定要通知每个人执行 git pull --rebase 命令,这样尽管不能避免伤痛,但能有所缓解。

  git fetch

  git rebase teamone/master


提交指南

  git diff --check

  git log --no-merges  看看,所有提交历史的说明是怎样撰写的

本次更新的简要描述(50 个字符以内)

    如果必要,此处展开详尽阐述。段落宽度限定在 72 个字符以内。
某些情况下,第一行的简要描述将用作邮件标题,其余部分作为邮件正文。
其间的空行是必要的,以区分两者(当然没有正文另当别论)。
如果并在一起,rebase 这样的工具就可能会迷惑。 另起空行后,再进一步补充其他说明。 - 可以使用这样的条目列举式。 - 一般以单个空格紧跟短划线或者星号作为每项条目的起始符。每个条目间用一空行隔开。
不过这里按自己项目的约定,可以略作变化。


git命令2的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  3. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  4. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  5. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  8. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  9. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  10. 日常开发使用GIT命令

    git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

随机推荐

  1. angular 用法总结

    架构: 1.一个总页面,然后用组件组成 2.每个组件又由三个文件组成,html,css,ts,三种不同的语言放在三个不同的文件中, 3.ts是总配置文件,里面联合各个其他文件(html,css) 语法 ...

  2. JS学习-Web Worker

    Web Worker 在专用workers的情况下,DedicatedWorkerGlobalScope 对象代表了worker的上下文(专用workers是指标准worker仅在单一脚本中被使用:共 ...

  3. 实现一个网页同时调用多个倒计时 jquery/js

    最近需要网页添加多个倒计时. 查阅网络,基本上都是千遍一律的不好用. 自己按需写了个.希望对大家有用. 有用请赞一个哦! //js2 var plugJs={ stamp:0, tid:1, stam ...

  4. 网络服务之DHCP与FTP

    目录 DHCP 一.DHCP是什么? 二.DHCP的优点 三.DHCP的分配过程 四.DHCP的工作原理 五.DHCP动态获取实验 FTP 一.FTP是什么? 二.FTP的数据连接模式 三.svftp ...

  5. mysql-8.0.28-winx64数据库win10系统安装步骤

    一.官网下载安装包 下载地址:https://dev.mysql.com/downloads/mysql/ ↓↓↓选择如下图版本↓↓↓ 二.解压安装包到本地 三.新建记事本创建my.ini配置文件 四 ...

  6. CH9121小结

    当通过网络配置工具将CH9121设置成UDP SERVER模式时,同时通过SRT-NET设置将PC设置成UDP并与CH9121用网线连接.将CH9121配置好与PC信息相匹配的端口号与IP地址,PC端 ...

  7. Linux基础命令、按照软件、数据库基础操作

    一.Linux基础命令 1.防火墙 systemctl - 控制 systemd 系统与服务管理器 systemctl 可用于 检查和控制 systemd(1) 系统与服务管理器的 状态 常用的命令: ...

  8. 存储SAN

    存储技术介绍 DAS (direct attached storage)  直接连接存储--块级 SAN(storage area network)   存储区域网络--块级 NAS(network ...

  9. 核函数(kernel function)

    在接触反演.算法等方面的知识后,经常听到"核"这个字,它不像对原始变量的线性变换,也不像类似于机器学习中激活函数那样的非线性变换,对原始数据进行变换,就可以将复杂的问题简单化.接下 ...

  10. 使用DockerCompose部署微服务项目(基于Springboot搭建一个简易计数器)

    准备Dockerfile FROM java:8 #基于jdk8的环境 COPY *.jar /app.jar #拷贝所有的jar包到/app.jar目录下 CMD ["--server.p ...