——————    常用   ——————

在一个目录里初始化git  并关联到远程

mkdir gitTest
cd gitTest
git init // 把此目录设为git管理
git remote add origin https://XXXXXX.git // 将本地仓库与远程仓库关联同步
git diff // 查看修改历史
git diff 文件名 // 比对这个文件修改了哪些代码

恢复重置

git checkout -- filename // 丢弃工作区的改动
git checkout . // 丢弃所有
// 以上:放弃掉所有还没有加入到缓存区git add的修改,不会删除新加的文件
git clean -df // 放弃并删除所有新增的文件和新增的文件夹 用git status可查看到的新加的
git reset --hard [目标版本号] // 恢复重置到这个版本
git reset --hard HEAD^:回退到上一版
git reset --hard HEAD^^:回退到倒数第二版;
git rest --hard 3628164:回退到commit id为3628164的版本;

所有工作区提交 到远程

git status // 查当前工作状态
git add . // 添加所有工作状态到本地缓存
git commit -m 'XXX' // 提交所有到本地仓库 git pull origin master // 提交远程前,先拉一下
git push origin master // 提交到远程

 分支操作及合并

git branch // 查看当前及所有分支
git branch XXX // 新建分支XXX
git checkout XXX // 切换分支XXX
git checkout -b XXX // 新建分支,并切换到XXX分支
git checkout -b XXX origin/XXX // 新建分支,并切换到XXX分支,同时远程拉取此分支
git merge master // 合并分支master 到当前分支
git branch -D XXX // D为强行删除分支XXX(不管是否合并过) git push origin XXX // 在远程新建分支XXX并提交 // 删除本地分支和远程分支
git branch -a // 先查看所有分支(本地 和 远程)
git remote update origin --prune // -a 时不同步远程,使用此即可
git push origin --delete dev // 删除远程分支
git branch -d dev // 删除本地分支

分支日志

git log // 查历史某版本号以后,如:commit db10740d1537fa164d0288a61fae95ac72
git log --pretty=oneline // 一行展示 清楚方便

合并时遇到冲突想取消操作,恢复index,用git merge --abort     https://segmentfault.com/q/1010000000140446

远程

git remote -v // 查看项目远程git地址
git checkout -b XXX origin/XXX // 同时在本地远程建分支XXX git branch --set-upstream XXX origin/YYY // XXX 对 YYY
git branch --set-upstream-to=origin/master // master 对 master
git branch --unset-upstream master // 取消此分支关联跟踪master
// 建立关联默认后,可简写git pull 和 git push
git remote add origin https://XXXXXX.git // 将本地仓库与远程仓库关联同步

git remote set-url origin https://xxxxxx.git // 更改远程地址,当有变动时
git remote rm origin // 删除远程地址
git remote add origin https://XXXXXX.git // 将本地仓库与远程仓库关联同步

其他

// 正在还未完成的 暂存一下
git stash // 详细
g
it stash pop // 恢复
git diff // 查看当前改动了哪些
git log --graph // 倒序查看提交日志 即git commit -m 'xxx' 备注过的 退出按Esc q

加入服务器的某个分支删除了,但是本地通过git branch -a还是可以看得到,感觉很烦,通过以下命令就可以更新分支的情况。

git fetch origin --prune

通常在一段时间的开发之后,本地会遗留很多无用的分支,且很多分支在远程仓库中已删除,这个时候,我们就需要将本地的无用分支清理一下,以保持本地仓库的整洁

git remote show origin

传输用https非ssh时,每次操作总要账号密码

git config --global credential.helper store
git pull // 这回输了账号密码会保存本地,以后pull就不用输入账号密码了

Tag 批量删除操作:

在Git v1.7.0 之后,可以使用这种语法删除远程分支:
                $ git push origin --delete <branchName>
        删除tag这么用:
                git push origin --delete tag <tagName>

批量删除Tag :git tag -l | awk '/tag_20180[1-5]{1}/{print}' | xargs git push origin --delete tag

注解:git tag -l 是查看所有本地tag 。
                “|” 管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l
                awk 行处理器: 依次对每一行进行处理,然后输出。
                awk '/tag_20180[1-5]{1}/{print}'  : awk 中的正则表达式使用。awk命令
                xargs : 是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具 xargs命令
   整个命令的理解就是:先通过 git tag -l 列出所有本地tag,然后用 awk 做正则匹配到需要删除的 tag号。将匹配到的 tag号 用 xargs 传给 git push origin --delete tag 命令。【git push origin --delete tag xxx】

批量删除分支:git branch --all | awk '/branch_20180[1-5]{1}/{print}' | xargs git push origin --delete

新手备忘

https://github.com/lililuni/GitStudy/blob/master/%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86.md

git初学 常用命令的更多相关文章

  1. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  2. git log 常用命令及技巧

    git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...

  3. Git基本常用命令

    Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...

  4. Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点

    Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...

  5. Git stash 常用命令

    参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...

  6. Git 基础 —— 常用命令

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...

  7. git之常用命令

    git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...

  8. git的常用命令。。

    git的常用命令.. git help <command>  显示command的help git show  显示某次提交的内容 git show $id git co -- <f ...

  9. Git - Git基本常用命令

    Git基本常用命令 mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理 ...

随机推荐

  1. 关于Laravel中使用response()方法调用json()返回数据unicode编码转换的问题解决

    在网上找了好久没有找到,之后一步一步测试,发现了Laravel还是很强大的,解决方案如下: public function response(){ // 返回json数据 $data = [ 'err ...

  2. 关于python项目路径导入自己写的库出错的一点思考

    其实也是在写自己项目的时候遇到的,以前也遇到了但是一直采取的是回避的策略,这次总算弄清楚所以总结一下. 这个项目的顶级目录是medivac,他本身是一个python模块. 熟悉flask的人都知道,在 ...

  3. JavaScript无法运行问题

    [出现问题] JavaScript代码在html页面可以正常运行,在js文件夹下无法正常运行 [解决方案] 根据网上查的和自己错误的原因总结下. 1.引用Js的路径不对 ../ 表示上一级目录开始 . ...

  4. Hibernate 查询技术

    转载: http://blog.csdn.net/u014078192/article/details/24986475 一.Hibernate的三种查询方式(掌握) Hibernate中提供了三种查 ...

  5. 51Nod - 1107 斜率小于0的连线数量

    二维平面上N个点之间共有C(n,2)条连线.求这C(n,2)条线中斜率小于0的线的数量. 二维平面上的一个点,根据对应的X Y坐标可以表示为(X,Y).例如:(2,3) (3,4) (1,5) (4, ...

  6. android第二课:运行你的应用

    如果你按照前面课程创建了 Android 项目,它包含了可以立即运行的 "Hello World"源代码文件. 由两该条件来决定如何运行你的应用:你是否拥有运行着 Android ...

  7. 【BZOJ2000】[HNOI2000]取石头游戏(贪心,博弈论)

    [BZOJ2000][HNOI2000]取石头游戏(贪心,博弈论) 题面 BZOJ 洛谷 题解 这题好神仙啊,窝不会QaQ. 假装一下只有三个元素\(a_{i-1},a_i,a_{i+1}\),并且满 ...

  8. XML解析(DOM、ElementTree)及转换为JSON

    xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 S ...

  9. DownloadProvider 源码详细分析

    DownloadProvider 简介 DownloadProvider 是Android提供的DownloadManager的增强版,亮点是支持断点下载,提供了“开始下载”,“暂停下载”,“重新下载 ...

  10. java 反射 子类泛型的class

    很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 Type genType = getClass() ...