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 数据结构 二叉树(二)红黑树
目录 数据结构图-树 简介 规则 旋转 重新着色 红黑树构建过程 前言-与正文无关 生活远不止眼前的苦劳与奔波,它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中,我们往往容易陷入工作的漩涡,忘记了停下脚步…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
