Git 指令
Git 安装 · 操作 · 命令行
简介:
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
-
Workspace:工作区(就是你在电脑里能看到的目录)
-
Index / Stage:暂存区(一般存放在 “.git 目录下” 下的 index 文件(.git/index)中)
-
Repository:仓库区(或本地仓库)
-
Remote:远程仓库
安装:
-
源码安装:源码包下载地址:https://git-scm.com/download
#安装指定系统的依赖包: ########## Centos/RedHat ########## $ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel ########## Debian/Ubuntu ########## $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev#解压安装下载的源码包: $ tar -zxf git-1.7.2.2.tar.gz $ cd git-1.7.2.2 $ make prefix=/usr/local all $ sudo make prefix=/usr/local install
-
Window 安装:安装包下载地址:https://gitforwindows.org/
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。 在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
-
Ubuntu安装:
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ apt-get install git $ git --version
基本信息:
-
查看版本:
$ git --version git version 2.22.0.windows.1
-
查看用户信息:
#当前登入用户: $ git config --global user.name Zhangsl#用户邮箱: $ git config --global user.email 547125836@qq.com
-
设置用户信息:
#设置用户名:不要‘’ $ git config --global user.name 'new_name'$ git config --global user.name Nepalese $ git config --global user.name Nepalese#设置邮箱: $ git config --global user.email 'xxx@qq.com'
-
查看已有配置:
$ git config --list core.symlinks=false core.autocrlf=true core.fscache=true color.diff=auto color.status=auto ...
仓库信息:
-
初始化仓库:
#使用当前目录作为 Git 仓库,文件夹下初始化一个仓库 $ git init#使用我们指定目录作为 Git 仓库 $ git init path
-
查看仓库:
#本地所有分支: $ git branch * master#本地和远程所有分支: $ git branch -a * masterremotes/origin/master#远程所有分支: $ git branch -rorigin/master#查看在你上次提交之后是否有修改 $ git status -s On branch master Your branch is up to date with 'origin/master'.Untracked files:(use "git add <file>..." to include in what will be committed)gitnothing added to commit but untracked files present (use "git add" to track)
-
分支管理:
#创建分支:temp8023 $ git branch temp8023$ git branch * mastertemp8023#切换分支: $ git checkout temp8023 Switched to branch 'temp8023'#创建并切换分支:name $ git checkout -b name#删除本地分支:temp8023 $ git branch -d temp8023 Deleted branch temp8023 (was 781f2e3).$ git branch * master#删除远程分支:name $ git push origin :name#合并分支:(本地和远程) $ git merge name $ git merge origin/name
-
文件管理:
#添加到暂存区:(文件绝对路径/或在当前目录下) $ git add E:\ZSLWORK\AndroidStudio\ToolLibs\app\src\main\res\drawable\img_test.jpg#错误例子 $ git add drawable/img_test.jpg fatal: pathspec 'drawable/img_test.jpg' did not match any files#删除本地文件:img_test.jpg(已添加到暂存区) $ git rm E:\ZSLWORK\AndroidStudio\ToolLibs\app\src\main\res\drawable\img_test.jpg error: the following file has changes staged in the index:app/src/main/res/drawable/img_test.jpg (use --cached to keep the file, or -f to force removal)$ git rm -f E:\ZSLWORK\AndroidStudio\ToolLibs\app\src\main\res\drawable\img_test.jpg rm 'app/src/main/res/drawable/img_test.jpg'#移动或重命名 $ git mv 'oldName' 'newName'
-
克隆项目:(类似 svn checkout)
$ git clone <repo>#克隆到指定的目录 $ git clone <repo> <directory>#克隆远程项目: $ git clone git://github.com/schacon/grit.git#repo:Git 仓库 #directory:本地目录。
拉取与提交:
-
提交到分支:
$ git commit -m "notice"$ git commit -m "add a image" [master 70f1eba] add a image1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 app/src/main/res/drawable-v24/img_bg_app4.jpg
-
推送到远程:
#需要登入 $ git push origin masterEnumerating objects: 14, done. Counting objects: 100% (14/14), done. Delta compression using up to 8 threads Compressing objects: 100% (8/8), done. Writing objects: 100% (8/8), 102.02 KiB | 34.01 MiB/s, done. Total 8 (delta 5), reused 0 (delta 0) remote: Resolving deltas: 100% (5/5), completed with 5 local objects. To https://github.com/IloveJavaCoding/ToolLibs.gitb866012..70f1eba master -> master
取消缓存:(绿色状态 --> 红色)
#执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存
$ git reset HEAD 'fileName' Unstaged chnages after reset:#".idea"就是要删除的文件夹名称
$ git rm -r --cached .idea
删除项目git:
1. 删除工程文件夹中的.git文件夹;
2. setting---versioncontrol中 点击减号, 删除;
查看提交历史:
$ git log
commit 9fa7fd35128340bf35172e15bf8ef85f250b5964 (HEAD -> Nepalese)
Author: Nepalese <547125836@qq.com>
Date: Mon Jul 13 16:40:34 2020 +0800:...skipping...
commit 9fa7fd35128340bf35172e15bf8ef85f250b5964 (HEAD -> Nepalese)
Author: Nepalese <547125836@qq.com>
Date: Mon Jul 13 16:40:34 2020 +0800#简洁版本
$ git log --oneline
9fa7fd3 (HEAD -> Nepalese) in the second screen only use textureView
887cc17 for program, replace surfaceView by textureView then according the current state to adjust the orientation of screen
747bae2 renderTee adjust second screen add cover image adjust stop page
ae687a1 renderTee adjust second screen add cover image adjust stop page
86fe829 (origin/Nepalese) use renderTee to control second screen
e7fcbb8 set release version configuration
**标签:**希望永远记住那个特别的提交快照(给最提交打上标签) [指向某个 commit 的指针]
#-a 选项意为"创建一个带注解的标签"
$ git tag -a 'tagName'#查看标签
$ git log --decorate#追加标签 85fc7e7 -> commit 号
$ git tag -a 'tagName' '85fc7e7'
退出Git 的Vim:
'c' --> 打开编辑模式;
按下'Esc' 退出编辑状态,再按住'Shift', 连按两次'z'。
小知识:按 ‘q’ 退出当前Git 指令。
参考资料:
https://blog.csdn.net/zhaoyanjun6/article/details/70332707
相关文章:

Git 指令
Git 安装 操作 命令行 简介: Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion …...
JAVA中的多态参数
1.方法定义的参数类型为父类类型,实参类型允许为子类类型 public class Ploy_parameter {public static void main(String[] args) {Manage jack new Manage("jack",12000,3000);Staff tom new Staff("tom",10000);Ploy_parameter ploy_para…...

Ubuntu Linux 下安装和卸载cmake 3.28.2版本
一、安装cmake 1.首先,先从cmake官网下载cmake-3.28.2-linux-x86_64.tar.gz 2.用FinalShell 等文件上传工具,将这个压缩包上传到 虚拟机的某个路径去(自选) 3. cd /usr/local/bin/,然后创建cmake文件夹,…...
【C++】类和对象3:默认成员函数之析构函数
前言 这篇文章我们来学习默认成员函数中的析构函数 概念 析构函数:与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 …...

2024美赛C题完整解题教程及代码 网球运动的势头
2024 MCM Problem C: Momentum in Tennis (网球运动的势头) 注:在网球运动中,"势头"通常指的是比赛中因一系列事件(如连续得分)而形成的动力或趋势,这可能对比赛结果产生重要影响。球…...

二、人工智能之提示工程(Prompt Engineering)
黑8说 岁月如流水匆匆过,哭一哭笑一笑不用说。 黑8自那次和主任谈话后,对这个“妖怪”继续研究,开始学习OpenAI API!关注到了提示工程(Prompt Engineering)的重要性,它包括明确的角色定义、自然语言理解(…...

【leetcode题解C++】98.验证二叉搜索树 and 701.二叉搜索树中的插入操作
98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…...

【Vue.js设计与实现】第二篇:响应系统-阅读笔记(持续更新)
从高层设计的角度去探讨框架需要关注的问题。 系列目录: 标题博客第一篇:框架设计概览【Vue.js设计与实现】第一篇:框架设计概览-阅读笔记第二篇:响应系统【Vue.js设计与实现】第二篇:响应系统-阅读笔记第三篇&#x…...

微信小程序之本地生活案例的实现
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…...

智能决策的艺术:探索商业分析的最佳工具和方法
文章目录 一、引言二、商业分析思维概述三、数据分析在商业实践中的应用四、如何培养商业分析思维与实践能力五、结论《商业分析思维与实践:用数据分析解决商业问题》亮点内容简介作者简介目录获取方式 一、引言 随着大数据时代的来临,商业分析思维与实…...

C#(C Sharp)学习笔记_前言及Visual Studio Code配置C#运行环境【一】
前言 这可以说是我第一次正式的踏入C#的学习道路,我真没想过我两年前是怎么跳过C#去学Unity3D游戏开发的(当然了,游戏开发肯定是没有成功的,都是照搬代码)。而现在,我真正地学习一下C#,就和去年…...

政安晨的AI笔记——Bard大模型最新提示词创作绘画分析
AI大模型进入商业应用元年后的第一年,顶级模型大混战终于开始了。 Bard在追赶OpenAI的过程中,还是补上了画图的短板。 (相比于视频的5阶张量处理而言,图画做为4阶张量处理虽然不新鲜,但却是跨不过去的基础条件&#…...
基础算法bfs -剪枝问题
问题描述:一个迷宫有 NXM 格,有一些格子是地板,能走;有一些格子是障碍,不能走。给一个起点S和一个终点D。一只小狗从 S出发,每步走一块地板,在每块地员不能停留,而且走过的地板都不能再走。给定一个 T,问小狗能正好走 T步到达D吗?输入:有很多测试样例。…...

在Meteor Lake上测试基于Stable Diffusion的AI应用
上个月刚刚推出的英特尔新一代Meteor Lake CPU,预示着AI PC的新时代到来。AI PC可以不依赖服务器直接在PC端处理AI推理工作负载,例如生成图像或转录音频。这些芯片的正式名称为Intel Core Ultra处理器,是首款配备专门用于处理人工智能任务的 …...

情人节心动礼物:共度情人节美好时刻的礼物推荐
情人节,这个充满浪漫与爱意的特殊日子,总是让人心跳加速,期待着与爱人共享甜蜜时光。在这一天,送出一份精心挑选的礼物,不仅能够表达你对另一半无尽的爱意,更能让这份爱升华,成为你们爱情故事中…...

远程手机搭建Termux环境,并通过ssh连接Termux
背景 Termux只能通过鼠标点击,无法使用电脑键盘,输入速度很慢,你想通过ssh 连接Termux,获得友好体验搞了个云手机,想像普通手机那样充当服务器想把自己的手机公开到局域网中供同事调试想把自己的模拟器公开到局域网中…...

基于EdgeWorkers的边缘应用如何进行单元测试?
随着各行各业数字化转型的持续深入,越来越多企业开始选择将一些应用程序放在距离最终用户更近的边缘位置来运行,借此降低延迟,提高应用程序响应速度,打造更出色的用户体验。 相比传统集中部署和运行的方式,这种边缘应…...

【linux】校招中的“熟悉linux操作系统”一般是指达到什么程度?
这样,你先在网上找一套完整openssh升级方案(不是yum或apt的,要源码安装的),然后在虚拟机上反复安装测试,直到把他理解了、背下来。 面试的时候让你简单说说linux命令什么的,你就直接把这个方案…...
【CSS系列】常用容易忽略的css
user-select user-select 是一个 CSS 属性,用于控制用户是否可以选择文本。通过设置 user-select 的值,可以决定用户是否可以选择元素中的文本,以及如何选择文本。 auto:默认值。浏览器可以选择文本。none:用户不能选…...

Java 数据结构 二叉树(二)红黑树
目录 数据结构图-树 简介 规则 旋转 重新着色 红黑树构建过程 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...