Git常见命令行操作和IDEA图形化界面操作

news2025/1/18 14:01:41

设置Git用户名和标签

在安装完Git以后需要设置用户和签名,至于为什么要设置用户签名可以看一下这篇文章【学了就忘】Git基础 — 11.配置Git用户签名说明 - 简书 (jianshu.com)

基本语法:
git config --global user.name 用户名

git config --global user.email 邮箱

查看是否设置成功:
方式一:在git控制台中输入命令git ~/.gitconfig

方式二:查看用户目录小面的.gitconfig文件

配置SSH免密登录 

拉取代码管理仓库的第二种方式就是通过SSH来获取,首先点击SSH 

 

第二步去配置SSH

 

第三步,检查本地是否存在密钥,如果存在id_ras(私钥)、id_ras_pub(公钥)这两个文件则说明已经创建过了,直接拷贝即可

 

$ls ~/.ssh

如果不需要这份可以删除,注意这份密钥没有在使用,移除之后就无法恢复了,之前所使用的地方也需要使用新的:

$ rm -rf ~/.ssh/id_rsa
$ rm -rf ~/.ssh/id_rsa.pub 

创建密钥(存在密钥的可以跳过) 邮箱记得填写自己的

$ ssh-keygen -t rsa -C "youremail@example.com"

 

然后将得到的公钥文件里面的内容拷贝到上面,并点击生成

 

后面在拉取代码的时候就复制SSH链接就行

 

 

 

 

 

 

 

初始化文件

基本语法:

git init

初始化以后会在项目目录下面多一个.git文件,如果没有,需要打开隐藏目录 

Git添加本地库以及查看日志的基本命令 

查看本地库状态

基本语法:

git status

 提交一个文件以后:

添加文件到暂存区(工作目录的暂存区中)

基本语法:
git add

提交代码到本地库(形成历史版本) 

基本命令
git commit -m "日志信息" 文件名

Git版本更新

编辑并发布第二个版本:

版本切换 

查看版本信息

基本语法:
简单日志:git reflog
详细日志:git log

版本切换 

基本语法:git reset --hard 版本号

分支 

什么是分支

        在版本控制过程中,同时推进多个任务,为每个任务,我们可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

查看分支

基本语法:

git branch -v

 分支前面带*号,表示当前分支

创建分支

基本语法

git branch 分支名

切换分支 

基本语法

git branch checkout 分支名

在新添加的分支下面修改代码,然后提交到该分支:

 

创建并切换分支 

基本语法:

git checkout -b 新分支名字

 

上面从图片中可以看出分支虽然建立成功了,但是没有关联上远程分支,所以在拉去或者提交的时候,控制台中都会报There is no tracking information for the current branch.

这个时候需要手动关联远程分支: git push --set-upstream origin 远程分支名字

或者是使用这种方式来关联:git push --set-upstream origin 本地分支名字:远程分支名字 

切换分支之前需要手动提交代码到暂存区或者远程分支上面,不然切换到其他分支以后,当前分支未提交的代码将会消失 

 

我们一般在协同开发的时候,有可能需要切换到别人的分支上面去看一下对方是怎么写的,这个时候我们在切换分支之前就需要先将我们的分支提交到本地或者远程,如果没有提交就切换分支:

1.会导致我们未提交的代码消失,当我们切换回来的时候看到的是我们上一次提交的代码;

 

 

2.如果选择智能切换 

 

不仅会影响到自己未提交的代码,操作不当,还会影响到你在别人分支上面看到的代码。别人分支代码是最右侧的,如果你选择了最左侧你的代码,或者是两边代码都选择了,那么你在别人的分支上面看到的代码就不是别人正确的代码。 

 

而且最要命的是如果选择了上面两种,在别人分支上面切换回来的时候又会提示代码冲突,又需要解决冲突,这个时候最好的选择就是强制切换,强制切换以后回到的是上一次提交的代码。如果选择智能切换会出现一下的问题:

注意:在别人分支上面切换回自己分支的时候千万不要去提交别人的代码 

 

 

合并分支(把指定的分支合并到当前分支上) 

正常合并(master分支没有做调整,dev/test...分支做了调整,合并到master分支上,代码没有冲突)

冲突合并(要合并的两个分支代码存在差异,Git不能确定要保留那个,需要手动合并) 

合并完分支以后记得提交代码 

删除分支 

基本语法:
删除已合并的本地分支——git branch -d 分支名字

强制删除未合并的本地分支——git branch -D 分支名字

删除远程分支——git push origin --delete 分支名字

注意:在删除分支之前需要切换到其他分支

将代码提交到本地或者远程

如果你有一次代码提交到了本地仓库,但是没有推送到远程仓库。当你下一次换另一个版本来提交时,会将你前后两次提交到本地的代码都推送到远程仓库:

这个时候如果从新拉取远程的代码,就会拉取到目前远程所展示的代码。我们还会发现,在我们后面的提交中,会看到将test.txt文件移送到test目录下面的这个变化,我们在控制台中使用git status命令的时候,也会发现之前有一个改变没有提交:

当我们将这个改变提交到远程仓库以后,远程仓库对应的代码就会被删除

 

当然我们我们想在暂存区将这个删除的动作取消,我们可以使用"git restore --staged <file>命令,使用这个命令以后不会改变本地和远程分支目前的代码状况,也就是说,远程分支上面还是会有test.txt文件,而本地分支依然没有该文件。 

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

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

相关文章

漳州不饱和聚酯树脂首次出口非洲

我可以确认&#xff0c;2024年4月中旬左右&#xff0c;漳州新阳科技有限公司制造的不饱和聚酯树脂产品首次出口至非洲市场。这批树脂共计167.2吨&#xff0c;经过漳州市古雷海关的监管放行后&#xff0c;被运往非洲国家阿尔及利亚和莫桑比克。这一举动标志着漳州企业在拓展国际…

深度学习基础之《TensorFlow框架(12)—图片数据》

一、图像基本知识 1、如何转换图片文件 回忆&#xff1a;之前我们在特征抽取中讲过如何将文本处理成数据 思考&#xff1a;如何将图片文件转换成机器学习算法能够处理的数据&#xff1f; 我们经常接触到的图片有两种&#xff0c;一种是黑白图片&#xff08;灰度图&#xff09;…

element-ui form表单自定义label的样式、内容

element-ui form表单自定义label的样式、内容 效果截图 代码 <el-form size"small" :inline"true" label-width"120px"><el-form-item prop"name"><div slot"label"><i style"color: red;"…

数据结构·一篇搞定顺序表!

大家好啊&#xff0c;几日不见&#xff0c;甚是想念&#xff0c;从这一篇文章开始&#xff0c;我们就要进入数据结构了哦&#xff0c;那么我们废话不多说&#xff0c;今天我们一起来搞定顺序表&#xff01;&#xff01;&#xff01; 1. 顺序表概念及结构 顺序表是一种线性结…

自定义数据 微调CLIP (结合paper)

CLIP 是 Contrastive Language-Image Pre-training 的缩写&#xff0c;是一个擅长理解文本和图像之间关系的模型&#xff0c;下面是一个简单的介绍&#xff1a; 优点&#xff1a; CLIP 在零样本学习方面特别强大&#xff0c;它可以&#xff08;用自然语言&#xff09;给出图像…

【文件系统】 F2FS文件系统学习

一、基本介绍 1、F2FS History F2FS&#xff08;Flash Friendly File System&#xff09;是专门为Nand Flash设计的一个日志型文件系统&#xff0c;于2012年12月合入Linux3.8内核&#xff0c;Google也在2018年&#xff08;Android P&#xff09;将其吸收到安卓原生版本中&…

【DL水记】循环神经网络RNN的前世今生,Transformer的崛起,Mamba模型

文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时&#xff0c;他们不会从头开始思考。就像你在阅读这篇文章时&#xff0c;你会根…

最新版的GPT-4.5-Turbo有多强

OpenAI再次用实力证明了&#xff0c;GPT依然是AI世界最强的玩家&#xff01;在最新的AI基准测试中&#xff0c;OpenAI几天前刚刚发布的GPT-4-Turbo-2024-04-09版本&#xff0c;大幅超越了Claude3 Opus&#xff0c;重新夺回了全球第一的AI王座&#xff1a; 值得一提的是&#xf…

Assign Memory Resources to Containers and Pods

minikube addons enable metrics-server minikube addons enable metrics-server 是一个命令&#xff0c;用于在 Minikube 环境中启用 metrics-server 插件。 Minikube 是一个工具&#xff0c;可以在本地轻松创建和管理单节点 Kubernetes 集群&#xff0c;适合开发和测试。Mini…

二叉树进阶题目

1还原二叉树 #include<bits/stdc.h> using namespace std; const int N1e310; char pre[N],mid[N]; int w[N]; int ans; struct node{int l,r; }t[N]; int build(int prel,int prer,int midl,int midr){int ascpre[prel];int posw[asc];if(midl<pos)t[asc].lbuild(pre…

从 Elastic 的 Go APM 代理迁移到 OpenTelemetry Go SDK

作者&#xff1a;来自 Elastic Damien Mathieu 正如我们之前所分享的&#xff0c;Elastic 致力于帮助 OpenTelemetry&#xff08;OTel&#xff09;取得成功&#xff0c;这意味着在某些情况下构建语言 SDK 的分发版本。 Elastic 在观察性和安全数据收集方面战略性地选择了 OTel…

深入挖掘C语言 ----动态内存分配

开篇备忘录: "自给自足的光, 永远都不会暗" 目录 1. malloc和free1.1 malloc1.2 free 2. calloc和realloc2.1 calloc2.2 realloc 3. 总结C/C中程序内存区域划分 正文开始 1. malloc和free 1.1 malloc C语言提供了一个动态开辟内存的函数; void* malloc (size_t s…

Python中的迭代器:深入理解与实用指南

文章目录 1. 迭代器的基本概念2. Python中的迭代器实例3. 自定义迭代器3.1 例子3.2 详细过程 4. 迭代器的高级应用5. 常见问题与解答 迭代器是Python中非常核心的概念之一&#xff0c;在面试中也会被问到。下面我会详细介绍什么是迭代器&#xff0c;使用方法&#xff0c;以及使…

爬虫 | 基于 requests 实现加密 POST 请求发送与身份验证

Hi&#xff0c;大家好&#xff0c;我是半亩花海。本项目旨在实现一个简单的 Python 脚本&#xff0c;用于向指定的 URL 发送 POST 请求&#xff0c;并通过特定的加密算法生成请求头中的签名信息。这个脚本的背后是与某个特定的网络服务交互&#xff0c;发送特定格式的 JSON 数据…

vi编辑器的用法linux中的vim编辑器大全

vim的介绍 vi 和 vim 命令是linux中强⼤的⽂本编辑器, 由于Linux系统⼀切皆⽂件&#xff0c;⽽配置⼀个服务就是在修改其配置⽂件的参数。 vim 编辑器是运维⼯程师必须掌握的⼀个⼯具, 没有它很多⼯作都⽆法完成。 其中有vi和vim两种 vi和vim的区别 Vim是Vi的升级版本&#…

source map 开发优化工具

什么是 Source map 简单来说 Source map 就是一个存储信息的文件&#xff0c;里面储存着位置信息。 Source map 英文释义&#xff1a;源程序映射。 位置信息&#xff1a;转换后的代码 对应的 转换前的代码 位置映射关系。 有了 Source map&#xff0c;就算线上运行的是转换…

el-menu 该有的页面显示不出来第一个应该想到的问题首先就算检查是否多写了一个 , 导致显示不出来原有的页面

问题描述 el-menu 该有的页面显示不出来第一个应该想到的问题首先就算检查是否多写了一个 , 导致显示不出来原有的页面 如图所示多写了一个&#xff0c;就会导致该有的页面显示不出来。

nVisual在线网络规划设计软件

●01● nVisual在线网络规划设计软件 在信息化快速发展的今天&#xff0c;网络基础设施的建设与优化变得尤为关键。为了满足现代通信行业对高效、精准的网络规划需求&#xff0c;nVisual在线网络规划设计软件应运而生&#xff0c;它通过集成先进的GIS技术和网络规划工具&#…

OpenHarmony鸿蒙南向开发案例:【智能门铃】

样例简介 智能门铃通过监控来访者信息&#xff0c;告诉主人门外是否有人按铃、有陌生人靠近或者无人状态。主人可以在数字管家中远程接收消息&#xff0c;并根据需要进行远程取消报警和一键开锁。同时&#xff0c;也可以通过室内屏幕获取门外状态。室内屏幕显示界面使用DevEco…

人工智能,如何走好下一步

以下文章来源&#xff1a;金台资讯 2023年&#xff0c;生成式人工智能在全球范围爆火&#xff0c;引发了人工智能领域新一轮的科技竞赛。眼下&#xff0c;人工智能不仅能辅助科学研究与艺术创作&#xff0c;还能实现自动驾驶、打造“无人农场”和“黑灯工厂”&#xff0c;成为解…