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 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Gitblit版本服务器环境部署记录

Gitblit介绍 Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具,支持linux系统。 G...

2485
来自专栏企鹅号快讯

python环境的安装

所谓"工欲善其事,必先利其器",首先我们就要来安装一下python环境,和一款python IDE:pycharm,由于本人用的windows系统,在这里只介绍...

1856
来自专栏编程坑太多

『中级篇』多容器复杂应用的部署(30)

![(https://upload-images.jianshu.io/upload_images/11223715-8a1876d398bd6dde.png?...

1475
来自专栏LuckQI

容器Docker学习系列七~系统信息学习

前面了解的Docker学习的本地镜像管理还有镜像仓库的命令学习,怎么说呢其实这些命令已经够我们平常使用的了。但是如果随着发展我们在系统程序调优上可能就需要了解更...

921
来自专栏cs

加密软件--PGP安装教程。

PGP(Pretty Good Privacy)是一个基于RSA公钥加密体系的邮件加密软件。 ---- pgp--百度百科 加密软件--百度百科。 安装教程...

3479
来自专栏Albert陈凯

2018-09-11 Svn升级Git不需要那么痛URL that points to a project root(may be the same as Subversion repository

一. 介绍 SubGit是用java语言编写的。SubGit是一种subversion与git代码库之间双向同步工具。如何在本地subversion版本库上安...

711
来自专栏格子的个人博客

基于XenServer7.3创建虚拟机和安装系统

惯例唠嗑,既然搭建了虚拟平台,目的肯定是为了安装虚拟机和整合系统服务,XenServer的虚拟机创建和系统安装并不像vSphere来得那么简单(个人觉得),但也...

693
来自专栏人人都是极客

Git与Repo快速入门

版本控制 版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。 一、原始版本控制 最原始...

32010
来自专栏知无涯

ubuntu环境下解决mysql不能远程访问问题

3529
来自专栏云计算教程系列

如何在Ubuntu上安装MutliCraft

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

922

扫码关注云+社区