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

相关文章

来自专栏一“技”之长

Git命令集十三——快照操作 原

    Git工具中提供了一个stash命令,这个命令的作用是创建快照。快照主要的用途是将当前未更新到缓存区的修改进行入栈保存,创建快照后,Git的状态会变回上...

612
来自专栏Java技术栈

Git操作常用的命令都在这里了。

创建仓库 git init 在当前目录执行,会生成 .git目录文件,这个和SVN一致。 提交到仓库 git commit -m "first commit" ...

3994
来自专栏青玉伏案

Git常用命令

 以下是学习git时常用的命令,大致总结了以下,用git做版本控制所用的命令挺多的,但常用的也在大脑承受的范围之中,把自己总结的东西给大家分享一下。   1....

1928
来自专栏静晴轩

Git常用命令备忘

Git配置 git config --global user.name "robbin" git config --global user.email ...

2717
来自专栏java思维导图

一篇文章,教你学会Git

在日常工作中,经常会用到 Git 操作。但是对于新人来讲,刚上来对 Git 很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触 Git 的新人,理解 Git ...

2613
来自专栏二次元

[笔记]Git常用命令大全

继上一次后,抽空整理了个比较全的Git常用命令,找到了一张非常棒的导图,非常高清的(1759*3162)。

804
来自专栏拭心的安卓进阶之路

Git HEAD detached from XXX (git HEAD 游离) 解决办法

本文 Git 图片主要来自:图解 Git,非常感谢! 什么是 HEAD Git 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/H...

2629
来自专栏草根专栏

Git -- 分支与合并 (命令行+可视化工具p4merge) Fast Forward 合并禁用 Fast Forward 合并自动合并解决合并的冲突

基本命令 把所有的变化都放在master分支并不是最好的做法. 建议的做法是把变化放在分支里面. ? 至少应该准备一个feature分支之类的, 把变化都隔离开...

2809
来自专栏草根专栏

Git -- 分支与合并 (命令行+可视化工具p4merge)

把所有的变化都放在master分支并不是最好的做法. 建议的做法是把变化放在分支里面.

5468
来自专栏Laoqi's Linux运维专列

git 分支+标签+别名配置管理

1486

扫描关注云+社区