库管理

克隆库

  1. git clone https://github.com/php/php-src.git
  2. git clone --depth=1 https://github.com/php/php-src.git # 只抓取最近的一次 commit

历史管理

查看历史

  1. git log --pretty=oneline filename # 一行显示
  2. git show xxxx # 查看某次修改

标签功能

  1. git tag # 显示所有标签
  2. git tag -l 'v1.4.2.*' # 显示 1.4.2 开头标签
  3. git tag v1.3 # 简单打标签
  4. git tag -a v1.2 9fceb02 # 后期加注标签
  5. git tag -a v1.4 -m 'my version 1.4' # 增加标签并注释, -a 为 annotated 缩写
  6. git show v1.4 # 看某一标签详情
  7. git push origin v1.5 # 分享某个标签
  8. git push origin --tags # 分享所有标签

回滚操作

  1. git reset 9fceb02 # 保留修改
  2. git reset 9fceb02 --hard # 删除之后的修改

取消文件的修改

  1. git checkout -- a.php # 取消单个文件
  2. git checkout -- # 取消所有文件的修改

删除文件

  1. git rm a.php # 直接删除文件
  2. git rm --cached a.php # 删除文件暂存状态

移动文件

  1. git mv a.php ./test/a.php

查看文件修改

  1. git diff # 查看未暂存的文件更新
  2. git diff --cached # 查看已暂存文件的更新

暂存和恢复当前staging

  1. git stash # 暂存当前分支的修改
  2. git stash apply # 恢复最近一次暂存
  3. git stash list # 查看暂存内容
  4. git stash apply stash@{2} # 指定恢复某次暂存内容
  5. git stash drop stash@{0} # 删除某次暂存内容

修改 commit 历史纪录

  1. git rebase -i 0580eab8

分支管理大专栏  Git 常用资源h2>

创建分支

  1. git branch develop # 只创建分支
  2. git checkout -b master develop # 创建并切换到 develop 分支

合并分支

  1. git checkout master # 切换到 master 分支
  2. git merge --no-ff develop # 把 develop 合并到 master 分支,no-ff 选项的作用是保留原分支记录
  3. git rebase develop # rebase 当前分支到 develop
  4. git branch -d develop # 删除 develop 分支

克隆远程分支

  1. git branch -r # 显示所有分支,包含远程分支
  2. git checkout origin/android

修复develop上的合并错误

  1. 将merge前的commit创建一个分之,保留merge后代码
  2. 将develop reset --force到merge前,然后push --force
  3. 在分支中rebase develop
  4. 将分支push到服务器上重新merge

强制更新到远程分支最新版本

  1. git reset --hard origin/master
  2. git submodule update --remote -f

Submodule使用

克隆带submodule的库

  1. git clone --recursive https://github.com/chaconinc/MainProject

clone主库后再去clone submodule

  1. git clone https://github.com/chaconinc/MainProject
  2. git submodule init
  3. git submodule update

Git设置

Git的全局设置在~/.gitconfig中,单独设置在project/.git/config下。

忽略设置全局在~/.gitignore_global中,单独设置在project/.gitignore下。

设置 commit 的用户和邮箱

  1. git config user.name "xx"
  2. git config user.email "xx@xx.com"

或者直接修改config文件

  1. [user]
  2. name = xxx
  3. email = xxx@xxx.com

查看设置项

  1. git config --list

设置git终端颜色

  1. git config --global color.diff auto
  2. git config --global color.status auto
  3. git config --global color.branch auto

Git 常用资源的更多相关文章

  1. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  2. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  3. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  4. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  5. 转收藏:Git常用命令速查表

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  6. git常用命令2

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  7. Git常用命令(转)

    目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.我整理了一份关于Git的学习资料,希望能帮助到正在学习Git的同学. 一. Git 命令初识 ...

  8. Git 学习资源

    在线教程 Try Git: Git初学者绝不能错过的Git上手资源. 廖雪峰Git教程: 比较系统的中文在线教程 易百Git教程 : 另一个比较全的中文在线教程 Git Immersion : A V ...

  9. 前端教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-资源汇总

    内容精简 资源这么多,多看看多学习再总结肯定是好的.多读读就算看重了不算浪费时间,毕竟一千个读者就有一千个林黛玉,还有温故而知新,说不定多读一些内容,就发现惊喜了呢.不过,在此也精简一些内容,就1~2 ...

随机推荐

  1. iOS 添加view的分类(更加方便的设置view的位置)

    点击创建UIView的分类category,这里命名为 PLExtension(为了和下面对应) view分类.h文件 #import <UIKit/UIKit.h> @interface ...

  2. 5.windows-oracle实战第五课 --事务、函数

    什么是事务        事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败. 事务和锁        当执行一个事务dml的时候,oracle会被作用 ...

  3. Oscar的拓扑笔记本

    目录 Euler characteristic Euler定理 引入:绝对值 度量空间 Example: 开集,闭集 Topological space 什么是拓扑 拓扑空间 例子: Exercise ...

  4. day49-线程-事件

    #1.Event里面有一个标志flag,当e = Event()刚创建的时候,flag=False,阻塞,这个时候,e.is_set()也是等于False,阻塞. #e.set()让flag变成非阻塞 ...

  5. callable和runnable的区别

    Runnable接口源码 @FunctionalInterface public interface Runnable { /** * When an object implementing inte ...

  6. 【UML】

    静态:类图,包图,部署图,构件图,对象图 行为:用例图,活动图,顺序图,状态图,交互图 [类图] http://www.uml.org.cn/oobject/201104212.asp [对象图] h ...

  7. Exchange Online合规性管理

    一.就地电子数据展示和保留 就地电子数据展示允许组织内的授权合规性管理员搜索整个Exchange组织的邮箱数据.预览搜索结果,并可以复制到发现邮箱将其导出到以pst为拓展名的文件. 就地电子数据展示使 ...

  8. 关于va_list实例

    printf函数: #include <stdio.h> #include <stdarg.h> int myself_printf(char *format, ...) { ...

  9. fedoar29配置漏洞平台webgoat

    fedoar29配置漏洞平台webgoat 该环境基于java环境,故需要配置相应的java版本 查看java版本 1 java -version 结果如下: 123 openjdk version ...

  10. [LC] 359. Logger Rate Limiter

    Design a logger system that receive stream of messages along with its timestamps, each message shoul ...