git指令学习速记

git常见操作指令速记卡《git-cheatsheet》 git常见操作指令速记卡《git-cheatsheet》,由国外网友整理,建议收藏打印放桌面方便学习,拿走不谢! 立即下载

Git版本管理是一个分布式的仓库管理工具,其功能相当的强大,因此我总结了一些学习的命令,忘记的时候可以回来看看。
1.安装和初步配置

  sudo apt install git git-core               //安装   (其实不用apt-get也可以的)    
  git config --global user.name "Your Name"       //你的名字
  git config --gloabal user.email "email@163.com" //你公司的内部邮箱,或者随便写一个
  git config --gloabal color.ui true //这样就会显示不同的颜色
  git config --gloabal alias.st status //为status配置别名 这样就是可使用git st 代替 git status
  git config --gloabal alias.co checkout  //checkout别名co
  git config --gloabal alias.ci commit //commit 别名ci
  git config --gloabal alias.br branch //branch别名br

2.下载服务器源码

  mkdir project-code            //创建一个目录作为你的工作区
  cd project-code               //进入工作目录
  ssh-keygen -t rsa -C "email@163.com"  //创建ssh key,生成的密钥交给版本仓库管理员,用于认证你的工作区,下载,提交代码
  //生成过程如下图所示

  git clone git@serverIP:/source/source.git  //下载源码到本地,其中 git@serverIP:/source/source.git ,这是一个ssh地址,git为用户名@后面为IP地址,和源码位置

这是在一开始存在版本控制仓库的情况下,我们需要加入到源码开发中去的情况,也是大部分存在的情况,如果需要自己建立一个版本库的话如下
  mkdir IamController //如果你是版本控制,只是管理自己的代码,而不共享给别人
  cd IamController
  git init  //创建版本库,就会生成 .git 目录

3.代码提交

 git add ***.txt  //把***.txt由工作区存放到暂存区
  git commit -m "**************" //将暂存区的文件提交到仓库 -m 后面是提交的说明
  git status //查看当前的工作区和暂存区的状态,可以时刻查看仓库的状态
  git diff xxx.txt //对比查看工作区和仓库内xxx.txt的不同,就是查看工作区对本文件的修改,并查看修改内容 
  git diff HEAD -- xxx.txt //查看工作区与版本库里最新的版本的区别,其实和上面的类似

4.版本退回

  git log //查看仓库所有的版本号,版本说明
  git log --pretty=oneline //一行显示版本号和版本末说明
  git log --graph --pretty=oneline --abbrev-commit //显示分支和commit历史提交的序列码
  git log -1  //是数字1 ,显示最近一次的commit提交
  git reset --hard HEAD^ //退回当上一个版本, 两个 ^表示退回两个版本
  git reset --hard num //退回到num 版本号的那个版本
  git reflog //记录每次操作的过程,用于查看操作过的所有版本的ID,用于git reset

5.撤回修改

  git checkout -- xxx.txt //丢弃工作区的修改,就是修改了还没有git add,也就是退回到和git add的一样的状态,-- 不能去掉,去掉就是创建一个新的分支
  git reset HEAD xxx.txt //在commit之前撤回修改,这个命令既可以退回版本,也可把暂存区的修改退回到工作区,然后再使用上面的命令,放弃修改

6.删除文件

  rm xxx.txt //直接删除工作区的文件
  git checkout -- xxx.txt //如果误删了,撤回工作区修改
  git rm xxx.txt //版本库删除文件

7.分支创建

 git checkout -b xxx //创建xxx分支并切换到xxx分支
  git branch xxx //创建xxx分支
  git checkout xxx //切换到xxx分支
  git branch //查看分支,和当前所在分支
  git checkout master //切换到主分支  
  git merge xxx //合并xxx分支到主分支
  git checkout -d xxx // 删除分支xxx
  git checkout -D xxx // 强行删除分支xxx,只有分支融合后,-d的删除才能使用,不然会失败,但是-D是强行删除,在主分支以外的其他分支,删除另一个分支就必须使用-D

8.解决冲突

  当遇到两个分支融合或者融合到主分支遇到冲突时,必须手动融合
  git status //显示冲突文件以及冲突的地方
  然后修改冲突的地方再次提交,提交完后删除分支
  git branch -d xxx  //删除xxx 分支
  git merge --no-ff -m "merge with --no-ff"  XXX  //以 禁用fast forward的方式合并dev 直接就上传了(commit),合并后还可以看到历史分支,而fast forward是看不到历史分支的

9.分支储藏
为每一个bug都创建临时分支,储藏分支,然后恢复分支,就是把工作现场储藏起来,去解决另一个bug,解决完了再回到现场

  git stash //储藏现场,指的是工作区的情况,暂停这个分支的add commit的情况,执行后,现场的工作区就为空了,可以status查看
  git stash list //储藏现场的列表,然后用于恢复,每次储藏都会在这个list内注册
  git stash apply //恢复现场,但这个现场在stash list内依然存在,并没有删除掉
  git stash apply stash@{n} //恢复现场n,就是在这list内可能不止一个现场,n代表现场的序号 
  git stash drop //删除stash list内的这个现场注册
  git stash pop //恢复现场同时删除stash list内的这个注册

10.多人远程协作
在创建好远程的git仓库后,不管是github还是git服务器的仓库,多个开发成员需要协作开发,因此需要从仓库git clone下来

  git remote //查看远程库信息,一般是origin
  git remote -v //显示更详细的信息,origin的抓取和推送地址
  git push origin xxx//推送分支xxx 
  git checkout -b xxx origin/xxx  //创建远程分支
  git pull //更新最新的
  git branch --set-upstream-to=origin/dev dev //设置本地的dev与远程的origin/dev分支的连接,--set-upstream被弃用了,因此只能--set-upstream-to,当连接好了之后才能成功pull到最新的库

11.标签快照

  git tag tagname //在主分支打一个标签版本号tagname 或者写v1.0,再最新的commit上打标签
  git tag  //查看所有标签,所有tag不是按照时间顺序列出来的,而是按字母数字开头大小拍了出来
  git tag tagname  num  //在序列码num上打标签,这个num表示commit的提交序列码。可通过  git log --graph --pretty=oneline --abbrev-commit 获得
  git show tagname  //显示标签信息
  git tag -a tagname -m " version info" num // -a指定在commit 提交码num序列码上打标签为tagname 并-m带有标签说明
  git tag -s tagname -m "带私钥的标签说明" num //签名采用PGP签名,没有gpg密钥对就会报错,需要安装 apt install gnupg
  git tag -d tagname  //删除标签
  git push origin tagname //推送标签到远程
  git push origin --tag //一次性推送所有的tag
 //如果要删除远程的tag,先删除本地的tag,然后远程删除
  git push origin :refs/tags/tagname  //删除远程版本库内的标签

12.搭建git服务器
首先得安装git,然后再linux 下为git创一个用户,淡然可以不用创建也行

sudo adduser git //创建一个linux用户git
  ssh-keygen -t rsa -C "youremail@xxx.com"//创建密钥用于git server认证,这样才能提交代码到远程仓库,在用户目录下会生成.ssh目录,里面的id_rsa私钥和id_rsa.pub公钥就是密钥对,公钥需要给远程服务器或者github
  //手机需要远程上传的的用户的公钥id_rsa.pub,把文件的内容复制,一行一个用户导入服务器/home/git/.ssh/authorized_keys文件里
  //在服务器某个路径下创建仓库并初始化
  sudo mkdir codesever //创建代码仓库,用于代码上传下载
  sudo git init --bare sample.git //初始化建立远程版本库
  git clone git@serverip:/仓库绝对路径   //远程下载仓库  
海思SD3403/SS928开发(二)环境搭建:从零到一构建高效开发环境的实战指南 本文详细介绍了海思SD3403/SS928开发板环境搭建的全流程,包括Ubuntu系统选择、基础配置、开发环境依赖安装、SDK工具链配置等关键步骤。通过实战经验分享,帮助开发者避免常见问题,快速构建高效开发环境,提升开发效率。 阅读详情

相关推荐

拌合楼软件开发(24)接收微信消息生成车辆计划

【摘要】针对拌合站客户群体文化程度不高、习惯微信群沟通的业务场景,提出通过企业微信机器人实现微信对话下单的解决方案。核心是利用WorkTool工具的消息回调机制:1)配置接收消息的API接口;2)解析JSON格式的对话数据,筛选@机器人的有效消息;3)采用*号分隔符提取订单信息并进行校验;4)建立微信昵称与客户系统的映射关系。方案解决了传统系统登录门槛高的问题,但需注意群名唯一性、多系统对接及客户身份识别等关键问题。全文重点阐述技术实现逻辑而非具体代码。

morsth的博客 1045

git命令速查表

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34352005的博客 139

【电子电力】IEEE33节点系统参数及拓扑图visio

IEEE33节点系统是一种广泛用于电力系统分析和研究的标准配电网络。该系统具有典型的辐射结构,适用于负载流分析、分布式发电优化及电力系统的可靠性评估。本报告主要基于IEEE33节点系统的拓扑图,讨论其在电子电力系统中的应用。通过MATLAB仿真分析了节点的电压分布、功率损耗等关键参数,并验证了系统的稳定性和有效性。

2401_84610415的博客 1万+

Git命令速记(自用)

Git命令速记(自用) 本文章引用菜鸟教程,如果不懂安装的请移步菜鸟教程 配置git 因为我们在项目开发的时候,通常需要不间断的push,所以我们需要标明我们的身份,也就是说告诉 git 以后这个计算机⽤户的 git 操作记录怎么署名 git config --global user.name "your name" git config --global user.email "your email" 查看版本库提交历史 git log 通过克隆获取远端版本库 git clone 远程仓库

qq_43338043的博客 297

【RK3588开发记录】超详细的RK3588修改debug串口波特率为115200

修改RK3588的debug串口为115200

Crazydrams的博客 4806

Keil中搭建自动化单元测试框架Unity

前言:   虽然一些C++的自动化单元测试框架也能用来C语言单元测试,但那样我们编写C语言程序时需要符合C++的标准,这样有一些C的特性是无法使用的,限制C的特性使用不太好,于是找了一个全部用C实现的自动化测试框架。Unity是一个简单且直接的自动化单元测试框架,它由很少的几个文件构成。 搭建环境:   1.从github上下载最新版本的Unity源码,下载链接:https://github...

程序员的自我修炼 3900

【速查速记】Git

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理.

我来揭露真相的博客 1768

苹果开发者账号( Apple Developer)登录出现:你的 Apple ID 暂时不符合使用此应用程序的条件(您的apple账户不符合资格)

Apple开发对于新手来说确实可能会遇到各种问题,在遇到 Apple Developer 账号登录问题时,除了检查账号的安全性设置和协议确认外,还需要考虑账号的具体配置问题,比如主邮箱的设置。

Winter_Sun灬的博客 4143

Git使用简洁指令速记

// 初始化仓库 git init // 添加文件到缓存区 // 使用通配符 git add *.c // 当前目录下所有文件 git add . // 提交到本地仓库 git commit -m "add:first commit" // 克隆 git clone git://github.com/schacon/grit.git mygrit // git status获取在上次提交后,文件是否有改动,其中-s获得简短输出 git status -s A 代表,相比于上次提交时的状.

weixin_39458342的博客 225

最新版 Akamai 逆向 风控破解

经过测试,捷星 jetstar.com,德州仪器 ti.com,w6 wizzair.com,还有一些航空公司的都是可以实现一个并发的有需要的可以。

m0_72605044的博客 6627

逆向拆解Android车机:VehicleHal如何通过HIDL与CarService通信?

本文深入剖析了Android Automotive OS中VehicleHal与CarService通过HIDL进行通信的底层机制。从逆向工程视角出发,详细介绍了如何捕获和分析HIDL调用日志,解析关键属性数据结构,并演示了利用SocketComm工具进行恶意属性注入攻击的实战路径,为车机系统安全评估提供了技术参考。

soda5的博客 722

Plover速记引擎完整安装指南:Windows、Linux、macOS三平台详细教程

Plover是一款开源速记引擎,让任何人都能在电脑上使用速记法进行输入,速度可达每分钟200词甚至更高。作为Open Steno Project的一部分,它提供了免费的速记解决方案,支持Windows、Linux和macOS三大操作系统。本指南将详细介绍如何在不同平台上安装和配置Plover,让你快速开始体验高效的速记输入方式。 ## Plover速记引擎工作原理 Plover的核心功能是将速

gitblog_00188的博客 1102

DO-297标准详解:IMA系统开发与认证指南

DO-297的前言部分为读者提供了本指南的概述,说明了该标准的编写背景、主要目标、目标受众以及该文件在开发和认证集成模块化航空电子(IMA,Integrated Modular Avionics)系统中的作用。作为现代航空电子架构的重要组成部分,IMA系统大幅度简化了航空电子系统的硬件配置,增加了灵活性并降低了成本。因此,DO-297成为确保IMA系统开发、集成和认证符合适航标准的核心文件。在现代航空领域,系统复杂性逐渐增加,传统上各子系统独立运行的方式已经不适应多任务、多功能的需求。

qq_41854911的博客 1587

【Git】Git基础命令操作速记

当我们有两个分支branch01和master时,branch01和master的版本不同,如果合并则会发生冲突,此时就需要我们想办法合并冲突。此时状态就是工作区和暂存区的文件都删除了,但是本地仓库还有对应的该文件。在抓取操作执行后,只是将远程库的内容下载到本地,但是工作区中的文件并没有更新。4)查看日志,发现并没有将原来的添加操作删除,而是直接新增了一个“删除Test2.txt”信息。5)找回本地仓库删除文件实际上就是将历史版本切换到存在这个文件的版本。将远程库中的内容fetch到本地仓库的主分支当中。

Decade_Faiz的博客 584

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

git基础知识速记

对经常使用的git相关知识的速记,便于回顾目录

LiftHong的博客 944

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Git实战干货速记

主要参考:菜鸟教程 一、Git实战 1. 基本术语 1.1 相关术语概念 远程/本地仓库:remote/local repository 工作区workspace 暂存区stage/index 分支branch 标签tag 默认远程仓库名origin 默认分支master 1.2 Git工作区、暂存区和版本库 工作区:就是你在电脑里能看...

Evonnehyf的博客 287

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

GIT 实用命令速记

Refer: git的一些使用_git config --local core.excludesfile-优快云博客

sunarmy的专栏 677

Git命令速记

生成SSH Keyssh-keygen -t rsa -C "youremail@example.com" 在用户主目录里找到.ssh目录 将id_rsa.pub中的数据放到服务器的.ssh目录下 克隆远程仓库git clone https/git查看所有的版本提交记录git log (--pretty=oneline)$ git log commit affd8ca1bc90c0865fbdc42

大闲人柴毛毛 2625

git命令速记

第一步,把当前目录(一般这个目录是新建的)变成Git可以管理的仓库: git init 第二步,用命令git add告诉Git,把文件添加到仓库: git add readme.txt 第三步,用命令git commit告诉Git,把文件提交到仓库: git commit -m "wrote a readme file" 第四步,要关联一个远程库,使用命令: ...

age76811的博客 110

是新最全Git命令大全及速记图

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

dragon的专栏 809

3. Git - Branches - 语法速记

创建一个新的分支testing git branch testing 切换到其他分支 git checkout testing 新建并且切换到一个新的分支 git checkout -b iss53 //等同于执行了以下两条命令 git branch iss53 git checkout iss53 删除分支 git branch -d testing 分支的合...

qq_41431689的博客 612

Git 代码合并导致代码丢失:原理、场景、预防、恢复与命令速记全解析

命令作用速记口诀git pull拉取并合并远程代码合并前必拉分支代码差异先对比再合并git stash暂存/恢复本地未提交修改合并前先藏好解决冲突强制选一方ours=自己,theirs=对方回退到某一历史状态丢了 reflog 救命打标签备份大操作先打标全历史图示图示全历史,查找更快git reflogHEAD 变动历史丢改 reflog 回头看挑选指定提交只挑一颗樱桃绝大多数代码丢失源自操作不当,流程规范和风险意识是关键。合并时多沟通、多检查、多测试,养成良好开发习惯。

IT技术学习与工作笔记分享 1903

Git实用命令速记

Git实用命令速记 1、创建 克隆一个已存在的远程版本库到本地 $ git clone ssh://user@domain.com/repo.git 创建一个新的本地版本库 $ git init   2、本地修改 在工作区修改文件 $ git status 追踪修改的文件(对比工作区与版本库的区别) $ git diff 添加所有当前修改到暂

lin364812726的专栏 495

Git 常用命令速记

初始化本地git仓库(创建新仓库) git init 配置用户名 git config --global user.name "xxx" 配置邮件 git config --global user.email "xxx@xxx.com" git status等命令自动着色 git config --global

不断成长的我 817

Java经验速记

Java

Flora的博客 1万+
上一篇: USB 重定向库usbredir的移植到Android下使用的方法总结
下一篇: Android下Tinyalsa的编译和使用方法
葫芦娃二娃
博客等级 码龄15年 1850粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值