Linux:Git

Git常见指令:

git  help  xx_command
git  xx_command  --help 
 
git   --version                            查看git版本
 
git config --global user.name  "xxx_name"       全局级别的签名设置,全局的放在本用
git config --global user.email "xxx@gmail.com"  户的家目录下的.gitconfig文件中
 
git config user.name "xxx_name"            项目级别的签名设置,放在工作仓库的.git/config里面
git config user.email "xxxxx@gmail.com"    项目级别的签名设置,放在工作仓库的.git/config里面
 
git config --list                        查看配置
git config --global --list               查看全局配置
git config --global --edit               编辑全局配置
 
 
 
git init                                 初始化本地仓库,会在当前目录下创建一个.git的目录
 
git status                               查看仓库当前状态
git status  -uno                         查看仓库当前状态,忽略未跟踪的文件
 
git add  [file name]                     本地写好的文件放到暂存区域
  git add .                              等于 git add -A 或者 git add --all
  git add 这个命令处理后面可以增加 pathname,也可以增加参数
  git add 默认不加参数,表示他会监控工作区的状态,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
  git add -u(--update),仅添加已经被git跟踪的文件(tracked file),会将修改(文件内容修改和文件删除)的文件提交到暂存区。git add -u 不会提交新文件(untracked file)。
  git add --all(-A, --no-ignore-removal),是上面两个的合集,即会把修改的文件加到暂存区,也会把新建的文件加到暂存区,同时还会把已经工作区删除了的文件从暂存区删除掉。
 
git restore
    git restore --staged                 将暂存区的文件从暂存区撤出,但不会更改文件文件的内容。
    git restore xxx                      撤销在工作空间但是不在暂存区的文件更改,如恢复工作区删除的文件xxx
 
 
git rm --cached <file>...                删除暂存区域的文件,和本地区域没关系
 
git commit  [file name]                  把暂存区域内容,维护到本地仓库
    git commit -a
    git commit -m "commit message" [file name]    不进入到文本模式,进行更改记录的添加
    git commit --message="commmint message log" [file name]
    git commit --amend                   修正上次的提交,可以使用上一次的提交信息,也可以对上次提交的内容进行修改。
                                         git commit -m "xxx" 提交之后,发现-m的说明文字写的有问题,想要重新写提交信息,
                                         或者又修改了某些文件,利用上次的提交信息并作部分修改,这个时候可以用命令 
        	                         git commit --amend  -m "xxx"  覆盖上一次的提交信息进行commit提交,
                                         且上次的提交信息不会出现在提交 git log中
    git commit -s -m XXX                 在git log 的时候会多展示 signed-off-by  行
    git commit -a -m XXX                 相当于先git add .  再git commit -m  XXX
 
 
git log                                  查看版本的更新日志,使用空格一屏一屏的切换
    git log --stat                           查看提交记录,显示文件列表改动,不包括内容改动
    git log -n                               n表示只显示最近n次的记录
    git log --pretty=oneline                 每次提交显示一行(全hash值)
    git log --oneline                        每次提交显示一行(哈希值的前7位)
    git reflog                               HEAD@{x}中x表示从当前版本回退到某个版本HEAD指针要移动的次数
    git log --oneline --decorate --graph --all   图像化的方式显示出分支创建后的版本迭代过程
    git log --oneline --graph
    git log --oneline -n --graph             n表示只显示最近n次的记录
    git log -- filename(git log filename)    可以看到该文件相关的commit记录
    git log -p filename                      可以显示该文件每次提交的diff
    log一页显示不全,英文状态下按Q退出git log 命令,按空格或者回车显示下面的信息
 
 
git reset    
--hard                            
  git reset --hard                       查看当前HEAD指向的版本
  git reset --hard  xxxxxxx              基于索引值(哈希值),xxxxxxx就是哈希值的前几位
  git reset --hard  HEAD^                基于^符号,只能向老版本回滚,不能向新版本回滚。
                                         向后回滚一个版本,HEAD后面的就一个^;向后回滚2个,在HEAD后面就使用两个^^
  git reset --hard  HEAD~n               基于~符号。只能向后回滚,回滚版本数n。
  git reset -–hard origin/master         回退到与远程master代码一样
--hard这个参数在一定情况下会有一定的危险。比如在工作区内容没提交工本地库之前,使用了--hard命令把本地库的内容重置到工作区和暂存区,会导致工作区更改的内容丢失。
 
git reset --mixed
git reset --soft
 
 
git branch\ git checkout
    git branch   分支名xx                     创建分支xx
    git checkout 分支名xx                     切换到分支xx
    git checkout -b 分支名xx                  基于当前分支(commit)创建并切换到分支xx
    git checkout -b 分支名xx commit_id        基于commit_id创建并切换到分支xx
    git checkout commit_id                    基于commit_id切到临时分支,可用于实验性修改
    git branch -d xx                          删除分支xx
    git branch -D xx                          强制删除分支xx
    git branch                                列出当前分支清单,列出所有分支
    git branch -a                             查看远程分支和本地分支
    git branch -r                             查看远程的分支名
    git branch -v                             查看各个分支最后一个提交信息
    git branch --merged                       查看哪些分支已经合并入当前分支
 
 
git merge 要合并的(from)分支名称       要先切换到接受修改的(to)分支上,由接受修改的分支来执行merge合并命令
 
git commit -m "commit msg"                分支冲突解决后,提交不能有文件名
 
 
git remote -v                             查看当前的远程仓库连接
git remote add origin URL                 为远程库取个别名,叫origin
 
git push
  git push <远程主机名> <本地分支名>  <远程分支名>    
     如 git  push  origin  master:refs/for/master   将本地的master分支推送到远程主机origin上的对应master分支, 
                                                    origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。
  git push origin master             如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
  git push -u origin master          如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push
  git push origin               如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支 
  git push                      如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
 
 
git clone
    git clone URL           1完整的把远程库下载到本地  2创建origin远程库别名  3初始化本地库
    git clone -b 分支名  仓库地址  存放路径    克隆指定的分支到本地目录,然后在该目录下push时,对应的就是push到远端的对应分支。
    git clone --recursive URL     递归克隆项目下面的所有git项目
 
 
 
git fetch [远程库别名] [远程库分支]     将远程主机的内容拉到本地,不合并
git merge [远程库别名/远程库分支]       本地合并远程库内容
当然上面这两步可以用一个操作 git pull 来统一完成
 
git pull
    git pull 命令的作用是:将远程主机的内容拉下来后直接合并,即:git pull = git fetch + git merge,可能会产生冲突,需要手动解决。它的完整格式稍稍有点复杂。
 
    git pull [<options>] [<repository> [<refspec>…​]]
    git pull  <远程主机名>   <远程分支名>:<本地分支名>
        比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样:
    git pull origin next:master
        如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
    git pull origin next
 
        什么时候使用  git pull [远程主机名] [远程分支名] [本地分支名]  ?
        修改比较简单,确定不会产生合并冲突的时候。
 
        什么时候使用git fetch [远程主机名] [远程分子名],git merge [远程库名/远程分支名] [本地分支]
        远程仓库的修改可能和本地仓库产生冲突的时候,可以先把远程仓库的放到本地。经过对比之类后,再进行合并(也要解决冲突)。
 
 
git rm
  如果是对所有文件都取消跟踪的话,就是
  git rm -r --cached .   //不删除本地文件
  git rm -r --f .        //删除本地文件
 
 
  对某个文件取消跟踪
  git rm --cached readme1.txt    删除readme1.txt的跟踪,并保留在本地。
  git rm --f readme1.txt         删除readme1.txt的跟踪,并且删除本地文件。
  当需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 
    可以使用 git rm --cached xxx
  git rm --cached 会从index里面删除该文件,下次commit的时候会修改git仓库,
    但是本地的文件还是保留
 
 
git blame                        显示文件的每一行最后修改的版本和作者
    用法:git blame [-c] [-b] [-l] [--root] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--      incremental] [-L n,m]  [-S <revs-file>] [-M] [-C] [-C] [-C] [--since=<date>] [--abbrev=<n>]  [<rev> | --contents <file> | --reverse <rev>] [--] <file>
    例如,git blame -L 100,120   xx.c
 
git diff
    git diff    //比较工作区与暂存的(git add 后)的差别,一个文件可以在commit之前多次add
    git diff --cached || --staged          //比较暂存区文件 与上一次commit 的差别
    git diff branch1 branch2 --stat        //显示出所有有差异的文件列表
    git diff branch1 branch2 具体文件路径   //显示指定文件的详细差异
    git diff branch1 branch2               //显示出所有有差异的文件的详细差异

Linux下Git仓库管理:

 

 

.gitignore 凡是在这个文件内部的后缀,对应的文件,不会被上传到gitee上!
.git 所谓的git仓库,本质就是一个目录,.git文件里面的内容。
push:本质上就是将.git里面的内容同步到gitee上去,也就是上传本地内容!

日志不能乱写!git log

如果Linux没有安装Git :sudo apt install git ,当你首次安装Git时,会提示你进行配置用户名和邮箱。

向Gitee提交流程:

mkdir example
mv /path /path/example/
git add [文件名]  #添加到暂存区 add .
git commit .  #提交改动到本地
git push     #同步到远端服务器上,需要填用户名和密码
git status   #查看git的变化
git rm filename #删除仓库文件,再commit,再push
git log  #查看日志
git pull #如果远端对文件修改,则本地同步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/936525.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用aws的bedrock训练适合自己的模型

使用 Amazon Bedrock 训练适合自己的模型是一个涉及多个步骤的过程&#xff0c;包括数据准备、模型选择、训练和部署。以下是九河云总结的详细的步骤指南&#xff0c;帮助您在 AWS Bedrock 上训练和部署自定义模型。 ### 1. **准备工作** 在开始训练模型之前&#xff0c;您需…

30.攻防世界unserialize3

进入场景 解读一下 这个类 xctf 中有一个公共属性 $flag &#xff0c;其值为 111 &#xff0c;并且定义了一个 __wakeup 魔术方法&#xff0c;当对象被反序列化时会自动调用该方法&#xff0c;该方法会输出 bad requests 并终止程序的执行。 ?code提示了参数 <?php clas…

PWM调节DCDC参数计算原理

1、动态电压频率调整DVFS SOC芯片的核电压、GPU电压、NPU电压、GPU电压等&#xff0c;都会根据性能和实际应用场景来进行电压和频率的调整。 即动态电压频率调整DVFS&#xff08;Dynamic Voltage and Frequency scaling&#xff09;&#xff0c;优化性能和功耗。 比如某SOC在…

Python爬虫之Selenium的应用

【1】Selenium基础介绍 1.什么是selenium&#xff1f; &#xff08;1&#xff09;Selenium是一个用于Web应用程序测试的工具。 &#xff08;2&#xff09;Selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样。 &#xff08;3&#xff09;支持通过各种driv…

DocFlow票据AI自动化处理工具:出色的文档解析+抽取能力,提升企业文档数字化管理效能

目录 财务应付 金融信贷业务 近期&#xff0c;DocFlow票据自动化产品正式上线。DocFlow是一款票据AI自动化处理工具&#xff0c;支持不同版式单据智能分类扩展&#xff0c;可选功能插件配置流程&#xff0c;满足多样业务场景。 随着全球化与信息化进程&#xff0c;企业的文件…

Python高性能web框架-FastApi教程:(3)路径操作装饰器方法的参数

路径操作装饰器方法的参数 1. 定义带有参数的POST请求路由 app.post(/items,tags[这是items测试接口],summary这是items测试的summary,description这是items测试的description,response_description这是items测试的response_description) def test():return {items: items数据…

Visual Studio Community安装WebForm创建和数据连接

目录 一、安装Visual Studio Community 1.下载Visual Studio Community 2.双击安装 3.配置 二、项目创建 1.创建新项目 2.配置新项目 3.创建web窗体 4.代码分部 5.文件打开问题 三、数据库访问 1.自己先装一个sql server 2.创建实体数据模型 3.创建连接 4.修改更…

【flutter】webview下载文件方法集锦

说明&#xff1a;android的webview是不支持下载的&#xff01;&#xff01;&#xff01; 所以我们需要监听下载接口 然后手动执行下载操作&#xff0c;分为三种类型 直接打开浏览器下载&#xff08;最简单&#xff09;&#xff0c;但是一些下载接口需要cookie信息时不能满足 …

一行一行出字的视频怎么做?简单的操作方法

在视频制作中&#xff0c;逐行出现的字幕效果不仅能够增强视觉冲击力&#xff0c;还能让观众更加专注于内容&#xff0c;特别适合用于教育视频、书单推荐、诗歌朗诵等多种场景。下面&#xff0c;我们将详细介绍如何影忆&#xff0c;来制作这种逐行出字的视频效果。 1.字幕逐行…

专题三:简单多状态 dp 问题

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是记忆化搜索&#xff0c;并且掌握记忆化搜索算法。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早…

海外组网之优解:外贸 SD-WAN 跨境组网专线赋能企业全球互联

在全球化商业进程中&#xff0c;众多企业积极拓展海外业务&#xff0c;设立国内外分支&#xff0c;然而分支组网难题也随之而来。外贸 SD-WAN 跨境专线成为解决此类问题的优选方案&#xff0c;为企业提供高效稳定的网络连接。 一、SD-WAN 跨境组网专线优势 &#xff08;一&…

【机器人】轨迹规划 之 spline 规划

在轨迹规划中&#xff0c;使用 spline &#xff08;通常是指通过样条曲线进行轨迹规划&#xff09;可以实现平滑、连续的路径。以下是使用样条&#xff08;如B样条、三次样条插值&#xff09;的具体方法和步骤&#xff0c;结合一个简单的例子说明&#xff1a; 示例场景&#xf…

Python生成对抗神经网络GAN预测股票及LSTMs、ARIMA对比分析ETF金融时间序列可视化

全文链接&#xff1a;https://tecdat.cn/?p38528 本文聚焦于利用生成对抗网络&#xff08;GANs&#xff09;进行金融时间序列的概率预测。介绍了一种新颖的基于经济学驱动的生成器损失函数&#xff0c;使 GANs 更适用于分类任务并置于监督学习环境中&#xff0c;能给出价格回…

【渗透测试】信息收集二

其他信息收集 在渗透测试中&#xff0c;历史漏洞信息收集是一项重要的工作&#xff0c;以下是相关介绍&#xff1a; 历史漏洞信息收集的重要性 提高效率&#xff1a;通过收集目标系统或应用程序的历史漏洞信息&#xff0c;可以快速定位可能存在的安全问题&#xff0c;避免重复…

【泛微系统】流程发起次数报表

流程发起次数报表 应用场景: 查询所有发起过业务流程的员工的信息,可作为绩效考核、系统使用情况等依据; 如何使用该SQL生成系统在线报表,实时查询最新的发起数据? 1、数据库创建视图,并定义一个视图名称如;view_test1 2、系统后台建模引擎-表单-右键创建一个虚拟表单…

k8s中用filebeat文件如何收集不同service的日志

以下是一个详细的从在 Kubernetes 集群中部署 Filebeat&#xff0c;到实现按web-oper、web-api微服务分离日志并存储到不同索引的完整方案&#xff1a; 理解需求&#xff1a;按服务分离日志索引 在 Kubernetes 集群中&#xff0c;有web-oper和web-api两种微服务&#xff0c;希…

【LeetCode】2406、将区间分为最少组数

【LeetCode】2406、将区间分为最少组数 文章目录 一、数据结构-堆、贪心1.1 数据结构-堆、贪心1.2 多语言解法 二、扫描线2.1 扫描线 一、数据结构-堆、贪心 1.1 数据结构-堆、贪心 题目已知一些区间, 需要尽量合并, 使 组 最少. 可以用图解画一下 因为尽量合并, 为了紧凑, …

【现代服务端架构】传统服务器 对比 Serverless

在现代开发中&#xff0c;选择合适的架构是至关重要的。两种非常常见的架构模式分别是 传统服务器架构 和 Serverless。它们各有优缺点&#xff0c;适合不同的应用场景。今天&#xff0c;我就带大家一起对比这两种架构&#xff0c;看看它们的差异&#xff0c;并且帮助你选择最适…

数据结构——栈的模拟实现

大家好&#xff0c;今天我要介绍一下数据结构中的一个经典结构——栈。 一&#xff1a;栈的介绍 与顺序表和单链表不同的是&#xff1a; 顺序表和单链表都可以在头部和尾部插入和删除数据&#xff0c;但是栈的结构就锁死了&#xff08;栈的底部是堵死的&#xff09;栈只能从…

Harmony编译与打包

1、hvigor编译脚本文件 hvigorconfig.ts:位于项目根目录,默认不存在(可以自行创建),执行的时机较早,可用于在hvigor生命周期刚开始时操作某些数据。hvigorfile.ts:项目根目录和每个模块目录下都有,在此文件中可以注册插件、任务以及生命周期hook等操作(类似Android的b…