git命令2
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的更多相关文章
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- 工作中常用的git命令
一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...
- 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 常look的Git命令
常用的Git命令 命令 简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 git a ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- 常用 Git 命令清单 转
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 日常开发使用GIT命令
git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...
随机推荐
- 使用CSS 绘制各种形状
如何使用CSS 绘制各种形状? 很多小伙伴在做开发的时候,遇到一些要画很多形状的时候,就很纠结了,知道怎么用CSS去布局,就是不知道怎么画图案. 其实使用CSS可以绘制出很形状的,比如三角形,梯形 ...
- wsl 的 tail -f 不好使
windows 上的sub linux ubuntu 的tail -f 不好使 在/etc/profile 中加入alias alias tailf='tail -f ---disable-inoti ...
- 一个新App上线应该注意什么?
一个新App上线应该关注哪些地方: 功能使用上无大问题遗留 用户使用体验尚佳 (前两条属于普通app更新也需要关注的点) 用户需要有反馈的入口,比如app内的反馈.用户可以直接联系到对应负责人进行反馈 ...
- WCF 安全
服务器端与客户端都安装证书,双方通过证书加密通讯. 配置wsHttpBinding,使用基于消息的用户名验证.首先配置为Windows账户库验证. 服务器端配置: <?xml version=& ...
- Win10 ISS Web服务器安装与部署
Win10 ISS Web服务器安装与部署 安装 ISS 控制面板-->程序-->启用或关闭 Windows 功能-->Internet Information Services 测 ...
- 解决idea不能自动下载maven配置文件pom.xml下的jar包依赖的问题
表现:无法下载pom配置文件中的依赖包,或只能下载少数包,各项配置都正确的情况 理由未知: 百度了很长一段时间,网上给出比较精准的解决之一是 setting>>maven>>去 ...
- 三种将list转换为map的方法
1) 传统方法假设有某个类如下 Java代码 class Movie { private Integer rank; private String description; public Movie( ...
- Elasticsearch Windows版安装配置
Elasticsearch简介 Elasticsearch是一个开源的搜索文献的引擎,大概含义就是你通过Rest请求告诉它关键字,他给你返回对应的内容,就这么简单. Elasticsearch封装了L ...
- 基于Linux的ssh协议配置sftp
sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装 1. 创建sftp组 创建完成之后使用cat /etc/group命令组的信息 ...
- Django中的缓存的配置与使用
一.使用装饰器 在文件开头导入下面代码,然后在函数上方添加缓存的装饰器 from django.views.decorators.cache import cache_page 一:在视图View中使 ...