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

相关文章

来自专栏计算机视觉与深度学习基础

Leetcode 40 Combination Sum II

Given a collection of candidate numbers (C) and a target number (T), find all u...

1899
来自专栏软件开发

一个小时学会Git

最近要与部门同事一起做技术分享,我选择了Git,因为Git 是一种在全球范围都广受欢迎的版本控制系统。在开发过程中,为了跟踪代码,文档,项目等信息中的变化,版本...

3339
来自专栏十月梦想

Git暂存区文件操作

总结:首次撤销暂存区使用 cached,非首次撤销暂存区使用 reset HEAD ;返回版本库中上一个版本使用checkout

872
来自专栏斑斓

【工具箱】GIT的使用场景

无论学习什么技术,都需要了解该技术的本质。若是靠死记硬背该技术提供的方法或者语法,终归是知其然而不知其所以然,当发现错误时,你根本不知道是什么原因导致的。我在使...

3154
来自专栏腾讯DevOps

Git 的一些事

假设远程分支上有2个提交,然后基于远程develop,再创建一个分支feature。

10.7K1
来自专栏mukekeheart的iOS之旅

IOS学习7——cocoapod安装与使用教程

参考: iOS开发~CocoaPods使用详细说明 iOS开发~CocoaPods使用详细说明 一、CocoaPods简述 iOS开发时,项目中经常会需要引用...

3057
来自专栏青玉伏案

Cocoa包管理器之CocoaPods详解

CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具。有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是...

1184
来自专栏Web项目聚集地

Git常用命令速查表(收藏大全)

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

962
来自专栏祝威廉

HBase缓存漫谈

上一次重度使用HBase已经是两年前了。HBase能够满足上面五个要求,所以用HBase作为画像体系的主要存储引擎便水到渠成。

1082
来自专栏浪淘沙

Git学习总结1

Git是目前世界上最先进的分布式版本控制系统(没有之一) Git有什么特点?简单来说就是:高端大气上档次!

1032

扫码关注云+社区