Git命令速记

生成SSH Key

ssh-keygen -t rsa -C "youremail@example.com"
  • 在用户主目录里找到.ssh目录
  • 将id_rsa.pub中的数据放到服务器的.ssh目录下

克隆远程仓库

git clone https/git

查看所有的版本提交记录

git log (--pretty=oneline)
$ git log
commit affd8ca1bc90c0865fbdc425726513b1dd09a523
Author: chaimm <350142639@qq.com>
Date:   Mon May 8 15:28:08 2017 +0800

    自动化查询页增加:分页功能

commit b8f06aab3a71bd4a4b66c5310b52be36748b56af
Merge: 1766243 3648640
Author: ZzzSimon <2234587454@qq.com>
Date:   Mon May 8 15:20:17 2017 +0800

    +分页

查看版本回退/提交信息

git reflog

本地版本仓库的版本回退

git reset --hard 3628164

工作区 与 暂存区 与 本地版本库

  • 对代码的修改是在工作区进行的;
  • git add后代码会进入暂存区
  • git commit仅会提交暂存区的代码,不会提交工作区的代码!

撤销工作区修改

git checkout -- 指定文件
  • 若暂存区是干净的,则工作区撤销后,和之前提交的版本保持一致;
  • 若暂存区已经有代码了,则工作区撤销后,和暂存区的代码保持一致。

注意:git checkout 后必须加–,否则就成切换分支命令了!

撤销暂存区的修改,将暂存区的修改放回至工作区

git reset HEAD 指定文件

创建分支

git branch 新分支名

切换分支

git checkout 指定分支名

查看所有分支

git branch

* dev
  master

合并分支

  1. 切换到master分支上: git checkout master
  2. 将指定分支合并至master分支 git merge dev

删除指定分支

git branch -d 分支名

分支管理策略

  • master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  • 干活都在dev分支上,每个人都有自己的dev分支;
  • 所以,团队合作的分支看起来就像这样:

Bug分支

当被分配到bug时,需要创建一个新分支,在上面进行修改。但此时可能还在自己的dev分支上开发新功能,此时需要将当前工作区存起来,在bug修复完后再还原。

  1. 存储当前工作区 git stash
  2. 切回master分支,基于master分支创建新的bug分支 git checkout master git checkout -b issue-101
  3. 在新分支上修改bug
  4. 切回master分支,合并bug分支 git checkout master git merge issue-101
  5. 删除bug分支 git branch -d issue-101
  6. 查看所有保存的工作区 git stash list
  7. 还原工作区
    1. 使用apply还原指定stash,再使用drop删除 git stash apply xxx git stash drop xxx
    2. 使用pop还原并删除第一个stash git stash pop

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4858
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2152
来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4607
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2968
来自专栏魂祭心

原 canvas绘制clock

4064
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2645
来自专栏杨龙飞前端

scrollto 到指定位置

2494
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2526
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4708
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7

扫码关注云+社区