当前位置: 首页 > news >正文

Git使用教程、命令

Git使用教程、命令

基本配置

git的配置文件位置:

win:   c:\users\<userName>\.gitconfig
linux: /home/<userName>/.gitconfig              # 个人/etc/gitconfig                           # 系统全局# 修改git init时的默认分支为master, 但gitlab上创建仓库时默认分支是main,可以修改git init的默认参数,使其初始化为main1)、直接修改配置文件
如果已有[init]则修改其下配置,如果没有,则新增,其他配置项不变:...[init]defaultBranch = main					# 修改默认初始化分支
2)、命令设置git config init.defaultBranch                     # 查看默认分支git config --global init.defaultBranch "main"     # 设置默认初始化分支,缺省状态默认为“master”

配置项及命令:

git config --list                                 # 查看全部配置
git config --global --list                        # 查看个人配置
git config --system --list                        # 查看系统配置
git config user.name                              # 查看用户名
git config user.email                             # 查看用户邮箱
git config init.defaultBranch                     # 查看默认分支# 系统级
git config --global user.name “用户名”             # 设置用户名
git config --global user.email “邮箱”              # 设置用户邮箱
git config --global init.defaultBranch "main"     # 设置默认初始化分支,缺省状态默认为“master”# 用户级、项目级,存放于当前项目.git文件夹下的config文件中;当用户级和系统级同时存在时优先采用用户级;实际开发过程中极少使用用户级
git config user.name “用户名”             # 设置用户名
git config user.email “邮箱”              # 设置用户邮箱ssh-keygen                              # 生成ssh key# 删除配置
git config --global --unset init.defaultbranch 用户名和用户邮箱只用区分用户,可以时不存在的

基本命令

git add [<.>, <file>]                   # 提交追踪的文件到仓库,.表示当前目录下所有文件
git commit -m "message"                 # 为本次代码提交做备注说明,比如做了新增、更新了哪些功能等等
git push origin HEAD:refs/heads/master  # 提交到指定分支 mastergit status                              # 检查状态
git reset                               # 撤销git add
git log                                 # 查看提交/版本/历史记录
git diff [<file>]                       # 查看当前工作区的file与仓库中file的不同的地方,就是查看做了哪些修改git stash                               # 暂存当前状态
git stash list                          # 查看保存的工作场景
git stash pop                           # 恢复保存的内容,并把stash中的内容删了

分支控制

git branch -va                          # 查看分支列表
git branch                              # 查看当前分支
git checkout -b newBranch               # 创建新分支newBranch并切换到该分支
git checkout dev1.0                     # 切换dev分支
git push origin dev1.0                  # 提交到dev分支
git branch -d dev                       # 删除本地分支
git branch -D dev                       # 强行删除本地分支
git push origin --delete branch         # 删除远程分支及其追踪分支
git remote -v                           # 查看当前git远程地址
git branch -m master main               # 重命名分支master为main
git pull origin <远程分支>:<本地分支>      # 将远程指定分支 拉取到 指定本地分支上
git pull -f origin 远程分支名:本地分支名   # 强制拉取合并
git pull origin <远程分支>               # 将远程指定分支 拉取到 本地当前分支上git remote remove <name>                # 删除某个关联仓库
git push --set-upstream origin master	# 设置默认push分支

推现有文件夹

git init
git remote add origin git@git.xjzh.tech:path/proj.git
git pull origin main                    # 先pull,将远端仓库的建项目时的初始化文件拉下来
git add .
git commit -m "Initial commit"
git push -u origin master

迁移git项目

git clone --mirror 项目原代码仓库地址 //将原仓库远程项目克隆到本地会生成一个 .git 文件
cd 生成的.git文件 //cd 进入(xxx.git)文件
git push --mirror 新项目代码仓库地址  //将本地克隆推送到新服务器

切换和合并分支:

    合并分支前请确保当前工作目录的所有修改已提交到代码仓库,否则将可能导致某些修改被丢弃并不可找回例如:仓库有3个分支,分别为master、dev1.0、dev2.0,master为可对外应用的分支,dev1.0为提交给测试的分支,dev2.0为开发分支现在dev1.0分支的所有功能已经测试通过,我当前在dev2.0上又做了更新,现在要将dev1.0合并到dev2.0上,需要先将所有修改提交到dev2,否则当前工作区的修改将会倍舍弃,然后再进入到master分支,最后将dev1.0合并过来将dev1.0分支的修改合并到master分支git checkout master             # 切换到master分支git merge dev1.0                # 将dev1.0合并过来git checkout dev2.0             # 返回到dev2.0分支,回到开发分支git cherry-pick id
有冲突时:git cherry-pick --abort     // 放弃合并git cherry-pick --continue  // 解决某些冲突后,继续查看下一个冲突

异常处理

(main|MERGING) # 合并、提交冲突
git reset --hard head # 重置当前的分支至上一次提交状态

如果时merge出现问题,就针对提示问题进行修复后提交# 冲突could not apply       after resolving the conflicts........git checkout --theirs/git checkout --ours

git commit后,如何撤销commit
修改了本地的代码,然后使用:

1、git add file
2、git commit -m ‘提交信息’
执行commit后,还没push到远程仓库时,想要撤销这次提交本地仓库的commit,该怎么办?
解决方法:
第一种:执行 git reset --soft HEAD~ 可成功撤销最近一次commit到本地仓库的提交,所有撤销的代码修改进入暂存区。
第二种:如果想要连着add也撤销的话,git reset --hard HEAD~(删除工作空间的改动代码,慎用)。
命令详解:
HEAD~ 表示上一个版本,即上一次的commit,也可以写成HEAD~1
如果进行两次的commit,想要都撤回,可以使用HEAD~2
--soft 不删除工作空间的改动代码 ,撤销commit,不撤销git add file
--hard 删除工作空间的改动代码,撤销commit且撤销add(慎用)
另外一点,如果commit注释写错了,先要改一下注释,有其他方法也能实现,如:
git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。

git官网

git-scm.com

优势:

大部分操作在本地完成,无需联网完整性保证尽可能添加数据而不是删除或修改数据分支操作非常快捷流畅与linux命令全面兼容

工作区、暂存区、本地库

工作区:编辑、增删改查
暂存区:保存工作区提交上来的记录
本地库:将暂存区的历史记录保存到本地库持久化
工作区——git add ——暂存区——git commit——本地库

代码托管中心:维护远程库
内网:gitlab
外网:github、码云

本地库——push——远程库

================
持续更新~,有遇到新的问题以及解决方案时,我会及时记录到这里,这只是我工作经验总结分享的一部分,如果有理解不到位的地方欢迎猿友们指正,非喜勿喷!!!☺☺☺

相关文章:

Git使用教程、命令

Git使用教程、命令 基本配置 git的配置文件位置&#xff1a; win: c:\users\<userName>\.gitconfig linux: /home/<userName>/.gitconfig # 个人/etc/gitconfig # 系统全局# 修改git init时的默认分支为master&#x…...

《c++ primer笔记》第九章 顺序容器

前言 知识点很多&#xff0c;这里只记录遗忘的。从这章开始会对前面章节的内容进行一个扩充&#xff0c;如果以前的忘了读起来会有点吃力。总的来说&#xff0c;本章节难度不大。 文章目录一、概述二、容器库概览2.1容器定义和初始化2.2赋值三、顺序容器操作3.1添加元素3.2删除…...

QML动画(弹动和翻转效果)

Flickable&#xff08;弹动&#xff09; QML中提供了一个Flickable元素&#xff0c;可以将其子项设置在一个可以拖拽和弹动的界面上&#xff0c;使得子项目的视图可以滚动。在传统的用户界面中&#xff0c;可以使用标准控件&#xff08;如滚动条和箭头按钮&#xff09;滚动视图…...

GPS启动方式、定位速度、定位精度介绍

前面文章介绍了GPS定位基础知识 GPS定位知识介绍 (qq.com) 本文主要介绍GPS启动方式。 定位过程中最重要的辅助信息是时间、星历、位置。 根据辅助信息不同,...

深度学习零基础学习之路——第五章 个人数据集的制作

Python深度学习入门 第一章 Python深度学习入门之环境软件配置 第二章 Python深度学习入门之数据处理Dataset的使用 第三章 数据可视化TensorBoard和TochVision的使用 第四章 UNet-Family中Unet、Unet和Unet3的简介 第五章 个人数据集的制作 深度学习数据集的制作Python深度学…...

女神节 | PHP和Java算什么,女工程师才是最美最好的语言!

世界上第一个程序员是女性 第一个发现Bug的也是女性 在智领云有一群追求快乐和独立的女性工程师 她们多有魅力&#xff1f; 工位上她们专注于数据与代码 平日里郊游、瑜伽、插花、科学养娃一件不落 不仅用0和1编织数字世界 也在用心装点自己的生活 今天是国际劳动妇女节…...

【Python】装饰器

一、装饰器的作用 装饰器能够为已经存在的对象添加额外的功能。 二、什么是装饰器 装饰器本质是一个python函数&#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能&#xff0c;装饰器的返回值也是一个函数对象。 三、装饰器的应用场景 插入日志、性能…...

Spring事务及传播机制

概念 在MySQL中介绍过&#xff0c;当同一时间出现一起读写数据的情况&#xff0c;可能会导致最终的结果出错&#xff0c;因此可以使用事务来提高隔离级别 而Spring中也可以实现事务 手动添加事务 使用SpringBoot中的DataSourceTransactionManager对象可以获取事务&#xff0…...

43-Golang中的goroutine!!!

Golang中的goroutine进程和线程说明并发和并行并发并行Go协程和Go主线程案例小结goroutine的调度机制MPG模式基本介绍MPG模式运行的状态1MPG模式运行的状态2设置GOlang运行的CPU数不同 goroutine之间如何通讯使用全局变量加锁同步改进程序进程和线程说明 1.进程就是程序在操作…...

[深入理解SSD系列 闪存实战2.1.5] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现

前言 上面是我使用的NAND FLASH的硬件原理图,面对这些引脚,很难明白他们是什么含义, 下面先来个热身: 问1. 原理图上NAND FLASH只有数据线,怎么传输地址? 答1.在DATA0~DATA7上既传输数据,又传输地址 当ALE为高电平时传输的是地址, 问2. 从NAND FLASH芯片手册可知,要…...

pandas库中的read_csv函数读取数据时候的路径问题详解(ValueError: embedded null character)

read_csv()函数不仅是R语言中的一个读取csv文件的函数&#xff0c;也是pandas库中的一个函数。pandas是一个用于数据分析和处理的python库。它的read_csv函数可以读取csv文件里的数据&#xff0c;并将其转化为pandas里面的DataFrame对象。它由很多参数可以设置&#xff0c;例如…...

【量化交易笔记】4.移动平均值的实现

上一讲已经讲A股的数据下载到本地或保存数据库&#xff0c;我们可以随时使用。 移动平均MA(Moving Average) &#xff0c;是用统计分析的方法&#xff0c;将一定时期内的证券价格&#xff08;指数&#xff09;加以平均&#xff0c;并把不同时间的平均值连接起来&#xff0c;形成…...

2023年3月份的野兔在线工具系统版本更新

这个是野兔在线工具系统中文版更新&#xff0c;这次更新的功能&#xff0c;和修改的问题还是比较多的&#xff0c;也修复系统部分功能&#xff0c;应该也是目前市面上在线工具比较多的一个系统了。系统名称&#xff1a;野兔在线工具系统系统语言&#xff1a;中文版系统源码&…...

科技成果赋智中小企业深度行 边界无限靖云甲ADR入选十大优秀案例

近日&#xff0c;国家工业信息安全发展研究中心、青岛市工业和信息化局、青岛市民营经济发展局、青岛市即墨区人民政府、青岛蓝谷管理局联合举办的科技成果赋智中小企业“深度行”活动&#xff08;青岛站&#xff09;成功举办&#xff0c;同步举行了赋智“深度行”活动&#xf…...

我们的理性何处安放

每天工作压力和各种人相处都让我们非常忙碌&#xff0c;我们上大学&#xff0c;努力工作&#xff0c;都是想获得更好的人生场景&#xff0c;素养&#xff0c;提升自身的认知&#xff0c;这样就是对我们大多数人生最负责任。如何让自己理性与人为善&#xff0c;并能被人温柔以待…...

RecyclerView的详细使用

首先就是了解ListView和RecyclerView的区别1.ListView相比RecycleView的优点a.ListView实现添加HeaderView和FooderView有直接的方法b.分割线可以直接设置c.ListView实现onItemClickListence和onItemLongClickListence有直接的方法2.RecyclerView相比ListView的优点a.封装了Vie…...

一、向量及其线性运算

&#x1f64c;作者简介&#xff1a;数学与计算机科学学院出身、在职高校高等数学专任教师&#xff0c;分享学习经验、生活、 努力成为像代码一样有逻辑的人&#xff01; &#x1f319;个人主页&#xff1a;阿芒的主页 ⭐ 高等数学专栏介绍&#xff1a;本专栏系统地梳理高等数学…...

Spring Cloud/Spring Cloud Alibaba核心知识总结

Spring Cloud核心知识总结 springCloud是一个服务治理平台&#xff0c;若干个框架的集合&#xff0c;提供了全套的分布式系统的解决方案。包含&#xff1a;服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息、分布式事务等等。 SpringC…...

Locust框架从0到1入门

Locust介绍 Locust是使用Python语言编写实现的开源性能测试工具&#xff0c;可以用来测试Web应用程序、API、数据库等各种应用程序的性能&#xff0c;使用起来简洁、轻量、高效&#xff0c;并发机制基于gevent协程&#xff0c;可以实现单机模拟生成较高的并发压力。中文意为&a…...

C++:整数(short ,int,long,long long)表示范围

整形 C用short、int、long 、long long来表示整数的整形&#xff0c;同一整形也分为有符号&#xff08;signed&#xff09;和无符号&#xff08;unsigned&#xff09;两种。数据长度与操作系统和编译器的位数有关&#xff0c;其能够表示的范围也有所不同。接下来本文将用代码的…...

简单学习 --> Cookie 和Session

CookieCookie是 http请求 header 中的一个属性; (是浏览器 持久化存储数据的一种 机制) ;网页无法 访问 服务器的文件系统, 要存储数据就得使用其他方式 ;(Cookie 中保存的数据,也是 键值对格式(用户自定义的),最终也是要把这个键值对和请求一起发送回服务器的, 服务Cookie 会存…...

Nix与Helm结合:实现声明式Kubernetes部署的确定性构建

1. 项目概述&#xff1a;当 Helm 遇见 Nix&#xff0c;一种声明式的新思路如果你和我一样&#xff0c;长期在 Kubernetes 生态里折腾&#xff0c;肯定对 Helm 又爱又恨。爱的是它用模板和 Values 文件&#xff0c;把一堆零散的 Kubernetes 资源打包成一个可配置、可版本化的“应…...

别再花冤枉钱!手把手教你用Arduino+ESP32自制车机CAN模拟器(附开源代码)

用ArduinoESP32打造高性价比CAN总线模拟器&#xff1a;从硬件搭建到报文解析全指南 在汽车电子和工业控制领域&#xff0c;CAN总线作为可靠的通信标准已经存在三十余年。面对市面上动辄上千元的商业CAN模拟器&#xff0c;许多开发者、学生和DIY爱好者常常望而却步。实际上&…...

GitHub加速实战指南:突破国内访问瓶颈的高效方案

GitHub加速实战指南&#xff1a;突破国内访问瓶颈的高效方案 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 对于国内开发者而言&a…...

D3KeyHelper终极指南:5分钟上手暗黑3智能宏,轻松提升游戏体验

D3KeyHelper终极指南&#xff1a;5分钟上手暗黑3智能宏&#xff0c;轻松提升游戏体验 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏…...

SSD硬件加密性能无损?十年调查揭示五大认知误区与实战指南

1. 项目概述&#xff1a;一次关于SSD认知误区的深度调查最近在整理资料时&#xff0c;翻到了一篇2014年来自EE Times的旧文&#xff0c;内容是关于存储网络行业协会&#xff08;SNIA&#xff09;发起的一项固态硬盘&#xff08;SSD&#xff09;用户调查。虽然时间过去近十年&am…...

2026最权威的六大AI写作工具推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术研究链路里&#xff0c;DeepSeek能够为论文撰写给予全流程辅助支持&#xff0c;从梳理…...

Gemini应用商店曝光量暴跌?3步诊断+5个隐藏算法漏洞修复指南

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini应用商店曝光量暴跌&#xff1f;3步诊断5个隐藏算法漏洞修复指南 近期大量开发者反馈 Gemini 应用商店自然曝光量断崖式下跌&#xff0c;部分应用 7 日内曝光下降超 68%&#xff0c;但后台数据未…...

别再傻傻分不清!用Python+Matplotlib手把手教你画出NBI和WBI的频谱与时频图

用PythonMatplotlib实战解析NBI与WBI的频谱与时频特性 在信号处理领域&#xff0c;窄带干扰(NBI)和宽带干扰(WBI)的区分对雷达系统、通信工程等应用至关重要。理论教材中复杂的数学公式常常让初学者望而生畏&#xff0c;而可视化呈现能瞬间让抽象概念变得直观可感。本文将带您用…...

边缘AI落地实战:从软件平台到NPU硬件的协同开发路径

1. 边缘AI的现实挑战与破局思路在2025年的阿姆斯特丹&#xff0c;一场汇聚了半导体巨头与初创公司的会议&#xff0c;清晰地勾勒出当前技术领域最炙手可热的战场&#xff1a;边缘人工智能。这不再是实验室里的概念演示&#xff0c;而是工程师们每天都要面对的真实难题——如何让…...