git知识点汇总

news2025/1/6 8:01:05
  1. git init 初始化一个git仓库,后面可以加仓库名,在当前目录下创建指定名称的目录并在该目录下创建仓库,若不加则直接在当前目录下创建仓库。
  2. git仓库的三个区域:工作区(当前目录)、暂存区(.git/index)、本地仓库(.git/objets),文件的四种状态:未跟踪(Untrack,新建的文件从未使用git add添加到仓库)、未修改(Unmodified,自上次git commit提交之后就没有变动过)、已修改(Modified,修改了但是没git add添加到暂存区)、已暂存(Staged,已经使用git add添加到暂存区,但是还没有git commit提交),git commit只会将已经添加到暂存区的文件提交。可以使用git commit -am “”一次性完成添加和提交两个动作:

  3. git status命令可以查看当前仓库状态,git log命令查看以往所有提交信息,可以加上--oneline选项只查看简略信息。
  4. git reset 版本ID 命令可以回退到相应版本,git reset HEAD^命令表示回退到上一个提交的版本(HEAD^表示上一次提交),默认使用的是--mixed,即保留工作区但是不保留暂存区,其他选项还有--soft,表示工作区和暂存区都保留,--hard表示工作区和暂存区都不保留。

  5. git ls-files 命令可以显示版本控制中的文件,不包括未被跟踪的文件、被忽略的文件或已删除的文件。这些文件是已经被git跟踪并且在当前分支中的文件,这些文件已经被 git add 命令添加到暂存区但尚未提交。
  6. git reflog命令用于查看git仓库的引用日志(reference log),它记录了每个引用(如 HEAD、分支、远程引用等)的历史变更,通过 git reflog,可以追踪所有提交、重置、变基等操作的历史,甚至在分支或提交被删除后仍然可以找到相应的提交哈希值。
  7. git diff命令可以用来查看工作区与暂存区之间的差异(即那些没有使用git add添加到暂存区的文件内容);git diff HEAD命令可以用来查看工作区和本地版本仓库之间的差异;git diff --cached命令可以用来查看暂存区和本地版本仓库之间的差异(即那些已经使用git add添加到暂存区但是没有使用git commit提交到本地仓库的文件内容);git diff 版本号1 版本号2 命令可以用来查看指定版本之间的差异,版本号可以用HEAD来代替:HEAD可以用来表示当前版本,HEAD^(或HEAD~)可以用来表示上一个版本,HEAD~n(n为特定的数字)可以用来表示上n个版本;git diff还可以用来查看指定文件在两个版本之间的差异,如:git diff HEAD~3 HEAD filename。

  8. 删除文件:可以使用linux命令rm删除文件后再用git add在暂存区中删除相应的文件,也可以使用git rm 文件名 直接将暂存区和本地工作目录中的文件删除(这种方法不需要使用git add)。上述两种方法最后都要使用git commit 提交。

  9. .gitignore文件用于告诉git在版本控制中忽略特定的文件或目录。通过定义忽略规则,可以避免将不需要或不希望版本控制的文件(如临时文件、编译输出、日志文件等)包含在git仓库中。git版本控制默认不会将空文件夹加入版本控制之中,.gitignore文件的匹配规则是从上到下逐行匹配,每一行表示一个忽略模式。在添加忽略规则之前就已经加入暂存区的想要被忽略的文件仍然会被git版本控制。

  10. git remote add命令用于将远程仓库添加到本地仓库,使本地仓库能够与远程仓库进行交互。语法为 git remote add <name> <url>,其中<name>通常为origin,<url>是远程仓库的地址。例如,git remote add origin https://github.com/user/repo.git 会将名为origin的远程仓库添加到本地仓库,git remote -v 用于显示所有配置的远程仓库及其对应的URL,包括 fetch 和 push 操作的地址;git pull用于从远程仓库获取最新的更改并合并到当前分支,语法为git pull <远程仓库> <远程分支>,默认拉取到本地当前分支,如果之前用git push--set-upstream(或-u) <远程仓库> <本地分支>:<远程分支>将当前分支与远程分支绑定了,可以直接使用git pull拉取。可以使用git pull <远程仓库> <远程分支>:<本地分支>拉取到指定的本地分支,使用git branch -vv命令,可以查看本地分支跟远程分支是否存在绑定关系;git push 用于将本地的提交推送到远程仓库,以便其他开发者可以访问本地的更改,语法为git push <远程仓库名> <本地分支名>:<远程分支名>,如果本地分支名与远程分支名相同,则可以省略冒号为git push <远程仓库> <本地分支>,如果之前用git push --set-upstream <远程仓库>  <本地分支>:<远程分支>将当前分支与远程分支绑定了,可以直接使用git push推送。

  11. git branch命令可以查看当前所在分支,git branch 分支名 命令可以用来创建一个新的分支。git checkout 分支名 和 git switch 分支名 命令可以切换到相应的分支,git checkout -b 分支名 命令会创建一个分支并切换到该分支上(若该分支已经存在则会报错)。git branch -d 分支名 命令可以用来删除已经被合并的分支,若没有被合并则不能删除,可以使用-D来强制删除。git merge 分支名 命令可以将指定分支合并到当前分支中(合并前需要先切换到目标合并分支,合并时git会自动产生一次commit)。合并时如果两个相同文件修改的部分没有冲突可以自动合并,若有冲突可以手动合并之后再commit,也可以使用git merge --abort中断此次合并。

  12. git rebase命令用于将一个分支的变更应用到另一个分支上,通常用于将本地分支更新到最新的主分支状态。基本用法是 git rebase <base-branch>,其中 <base-branch> 是希望将当前分支变更应用到的目标分支。执行命令后,git会逐个应用当前分支的提交到 <base-branch> 的最新提交上。如果过程中出现冲突,git 会暂停并提示解决冲突,解决后使用git add标记文件为已解决,并运行git rebase --continue继续操作。如果决定中止rebase,可以使用git rebase --abort恢复到rebase开始前的状态。

  13. git stash是Git中用于临时保存当前工作区修改的命令,帮助开发者在不提交更改的情况下切换分支或执行其他任务。使用git stash后,未提交的修改和暂存区内容会被保存,工作区恢复为干净状态。之后可通过git stash apply或git stash pop恢复这些修改。git stash list可查看保存的所有stash,git stash drop用于删除指定的stash,而git stash clear清除所有stash。使用-u参数可将未跟踪的文件也一起保存,-a参数则包括忽略的文件。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索大型语言模型新架构:从 MoE 到 MoA

探索大型语言模型新架构&#xff1a;从 MoE 到 MoA 当前&#xff0c;商业科技公司纷纷投身于一场激烈的竞赛&#xff0c;不断扩大语言模型的规模&#xff0c;并为其注入海量的高质量数据&#xff0c;试图逐步提升模型的准确性。然而&#xff0c;这种看似顺理成章的发展路径逐渐…

单片机-静动态数码管实验

P0控制数码管 &#xff0c;P0低电平 P1,P2,P3高电平 1、静态数码管 需求&#xff1a;数码管显示0&#xff0c;即让p0端口输出数字0的段码0x3f(共阴) #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; //数码管显示数字的数组 共阴极 …

Hyperbolic dynamics

http://www.scholarpedia.org/article/Hyperbolic_dynamics#:~:textAmong%20smooth%20dynamical%20systems%2C%20hyperbolic%20dynamics%20is%20characterized,semilocal%20or%20even%20global%20information%20about%20the%20dynamics. 什么是双曲动力系统&#xff1f; A hy…

细说STM32F407单片机轮询方式CAN通信

目录 一、项目介绍 二、项目配置 1、时钟、DEBUG、USART6、NVIC、GPIO、CodeGenerator 2、CAN1 &#xff08;1&#xff09;Bit Timings Parameters组&#xff0c;位时序参数 &#xff08;2&#xff09;Basic Parameters组&#xff0c;基本参数 &#xff08;3&#xff09…

linux装git

前言 以 deepin 深度系统为例&#xff0c;安装命 令行版 Git 非常简单。 安装 注意&#xff1a;需要输入账号密码&#xff0c;否则无法进行。 打开终端&#xff0c;执行如下命令即可。 sudo apt-get install git成功 如下图所示&#xff0c;输入 git &#xff0c;命令识别即…

微信小程序滑动解锁、滑动验证

微信小程序简单滑动解锁 效果 通过 movable-view &#xff08;可移动的视图容器&#xff0c;在页面中可以拖拽滑动&#xff09;实现的简单微信小程序滑动验证 movable-view 官方说明&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/movable-view.ht…

Kerberos用户认证-数据安全-简单了解-230403

hadoop安全模式官方文档&#xff1a;https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SecureMode.html kerberos是什么 kerberos是计算机网络认证协议&#xff0c;用来在非安全网络中&#xff0c;对个人通信以安全的手段进行身份认证。 概念&#…

大麦抢票科技狠活

仅供学习参考&#xff0c;切勿再令您所爱的人耗费高昂的价格去购置黄牛票 ⚠️核心内容参考: 据悉&#xff0c;于购票环节&#xff0c;大麦凭借恶意流量清洗技术&#xff0c;于网络层实时甄别并阻拦凭借自动化手段发起下单请求的流量&#xff0c;强化对刷票脚本、刷票软件以及…

光伏电站的成本估算方式

绿虫仿真设计软件的成本估算功能主要通过以下方式实现&#xff1a; 依据设计方案自动生成材料清单&#xff1a;软件能够根据光伏项目的具体设计&#xff0c;确定所需的各种材料&#xff0c;如光伏组件、逆变器、线缆等。结合市场价格信息&#xff1a;它可以获取实时的市场价格…

结构生物学1-绪论:

请结合图片&#xff0c;详细解释图片中的内容&#xff0c;要求逻辑清晰&#xff0c;并给出整理与答疑1&#xff0c;x射线衍射&#xff1a; 1. X射线与光学显微镜的基本原理对比 X射线的特性&#xff1a;为了解析大约1-5埃&#xff08;0.1-0.5纳米&#xff09;的细小原子结构&…

yolo小damo合集

效果如下&#xff1a;这个是图片检测 效果如下&#xff1a;这个是视频检测 效果如下&#xff1a;这个是摄像头检测 1 相关库 除了yolov11所用库之外&#xff0c;本文所用到的额外库为pyqt5&#xff0c;输入指令进行安装 pip install pyqt5 导入所需要的库 import sys fro…

商标名称仅由常见姓氏构成,缺显驳回!

近日一个江苏网友给普推知产商标老杨发过来的一个商标驳回案例&#xff0c;商标驳回的原因与第一次驳回引证的商标居然是不一样的&#xff0c;引证的商标与第一次引证的商标也是不一样的。 看了下引证的两个商标与申请商标名称明显不太近似&#xff0c;或许还有做复审的机会&am…

Rockect基于Dledger的Broker主从同步原理

1.前言 此文章是在儒猿课程中的学习笔记&#xff0c;感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写&#xff0c;有些不清楚的可以看下上一篇博客&#xff1a; RocketMQ原理简述&#xff08;二&#xff09;-CSDN博客 2.Broker的高可用 如果…

深入Android架构(从线程到AIDL)_08 认识Android的主线程

目录 3、 认识Android的主线程(又称UI线程) 复习&#xff1a; 各进程(Process)里的主线程​编辑 UI线程的责任&#xff1a; 迅速处理UI事件 举例 3、 认识Android的主线程(又称UI线程) 复习&#xff1a; 各进程(Process)里的主线程 UI线程的责任&#xff1a; 迅速处理UI事…

个人博客自我介绍

你好&#xff0c;我是Chiawei&#xff01; 大家好&#xff0c;我是Chiawei&#xff0c;一个热爱编程和探索新知识的人。很高兴能在这里与大家分享我的编程之旅。今天&#xff0c;我想和大家聊聊我的自我介绍、编程目标、学习计划以及一些个人想法。 自我介绍 我是一个对技术充…

logback之自定义过滤器

logback有两种过滤器&#xff0c;一种是context中的过滤器叫TurboFilter&#xff0c;是一个全局的过滤器&#xff0c;会影响所有的日志记录。另一种是Appender中的过滤器&#xff0c;只对所在的append有效。两者大同小异&#xff0c;这里我们以Appender的过滤器为例。 &#x…

AcWing练习题:面积

给定三个浮点数 A&#xff0c;B 和 C。 然后&#xff0c;计算如下图形的面积&#xff1a; 底边为 A&#xff0c;高为 C 的三角形。半径 C 的圆。&#xff08;π3.14159&#xff09;底边为 A 和 B&#xff0c;高为 C 的梯形。边长为 B 的正方形。边长为 A 和 B 的长方形。 输…

三甲医院等级评审八维数据分析应用(一)--组织、制度、管理可视化篇

一、引言 1.1 研究背景与意义 在当今医疗领域,三甲医院作为医疗服务的核心载体,肩负着保障民众健康、推动医学进步的重任。随着信息技术的飞速发展,数据已成为医院运营管理、医疗质量提升以及科学决策的关键要素。三甲医院等级评审作为衡量医院综合实力与服务水平的重要标…

Spring Bean的初始化过程是怎么样的?

文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ 文章内容收录到个人网站&#xff0c;方便阅读&#xff1a;http://hardyfish.top/ Spring Bean 的初始化过程主…

快速上手LangChain(四)LangChain Hub和LangSmith

文章目录 快速上手LangChain&#xff08;四&#xff09;LangChain Hub和LangSmith什么是LangChain HubLangChain Hub功能 LangSmith使用 快速上手LangChain&#xff08;四&#xff09;LangChain Hub和LangSmith 什么是LangChain Hub LangChain Hub官网地址&#xff1a;https:…