Git使用基础总结(从小白到新手版)

news2024/9/30 17:36:37

  • (꒪ꇴ꒪ ),Hello我是祐言QAQ
  • 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍
  • 快上🚘,一起学习,让我们成为一个强大的攻城狮!
  • 送给自己和读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!
  • 作者水平很有限,如果发现错误,请在评论区指正,感谢🙏

目录

一、 介绍

1. 什么是Git

2.安装Git(已装请跳过)

3. 配置Git(可跳过但还是得填)

二、Git的基本使用

1. 创建新仓库

        (1)自己创建

        (2)直接 clone

2. 肆无忌惮修改环节

3. 提交更改

        (1)初始化仓库,使用 git init 命令

        (2)将当前目录下所有的修改或新增的文件添加到暂存区

        (3)提交更改

三、将代码上传至远程仓库Gitlab

1.建立本地仓库和远程仓库关系并推送

2. 本地内容上传至远程仓库

3. 提交和推送的区别

        (1)提交修改 git commit

        (2)推送更改 git push

四、关于分支管理和解决冲突

1. 分支管理

2. 解决冲突

报 fatal:remote origin already exists

(1)查看已有的远程仓库

(2)修改已有的远程仓库

📢写在最后

一、 介绍

1. 什么是Git

        Git是一个分布式版本控制系统,由Linus Torvalds在2005年创建。它旨在追踪文件和目录的变化,并且支持多人协同工作。Git的设计目标包括速度、简单性、非线性开发(可以同时进行多个分支的工作)以及对大型项目的支持。Git是一个强大而灵活的版本控制系统,它在团队协作和个人项目管理中都有广泛的应用。通过熟练使用Git,你可以更有效地追踪项目历史、协同工作和管理代码。

2.安装Git(已装请跳过)

        首先,你需要安装Git,打开浏览器手动搜索git(不要用百度,都是广告,我这里用的Bing)

        当然你也你可以在这里直达(选择64-bit for Windows Setup),然后下载安装包,同意不pd条约,就安装完成了:Git - Downloading Package (git-scm.com)

        安装完成后,直接在桌面右键,当你看到里面有这两行,那么就安装完成了。

3. 配置Git(可跳过但还是得填)

        在开始使用Git之前,你需要配置用户信息,包括用户名和邮箱。这可以通过以下命令完成:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

二、Git的基本使用

1. 创建新仓库

        使用Git进行版本控制的第一步是初始化一个新仓库,并进入项目目录。       

        (1)自己创建

        首先我们在桌面右键后点击 Git Bash here   然后使用 cd 命令(基本的linux命令Linux终端介绍与常用shell命令35例-CSDN博客) 进入你想要存放代码的项目目录(我这里是在桌面新建的演示目录New)

        (2)直接 clone

        你也可以选择直接克隆而不是创建新的项目目录,使用git clone +目标地址,我这里选择的是opencv库作为演示地址(具体地址自行更换copy一下)。

git clone https://github.com/opencv/opencv.git

           等待期加载完成即可,我这里就不等了跳过。

2. 肆无忌惮修改环节

        当然,很多时候你们clone 的都是自己的代码,随意修改即可(vs code还是其他都好),直到你需要提交代码。

3. 提交更改

        (1)初始化仓库,使用 git init 命令
git init

        初始化完成后,本地文件会生成一个.git文件。

        (2)将当前目录下所有的修改或新增的文件添加到暂存区
git add .

        (3)提交更改

        Git通过提交来跟踪项目的更改。用于将暂存中的更改创建为一次提交,使用以下命令:

git commit -m '提交描述'

三、将代码上传至远程仓库Gitlab

1.建立本地仓库和远程仓库关系并推送

git remote add origin  http://ip地址+端口/路径/(项目名称).git 

        找到Gitlab上面http地址,克隆下来,把4492c9d4d2e9更改为指定的ip地址即可。

        然后需查看是否连接成功,使用 git remote -v 命令来查看:

gir remote -v   //检查

        如果有误则用 git remote rm origin,重新连接一下:

git remote rm origin   //重连

2. 本地内容上传至远程仓库

        如需先拉取远程仓库的master代码则先执行:

git pull --rebase origin master

        然后执行 git push -u origin master 命令:

git push -u origin master

        成功的话就可以在你的gitlab上看到了,运行界面大致如下,只要不报红色错误,基本都是成功。

3. 提交和推送的区别

        在Git中,提交修改(`git commit`)和推送更改(`git push`)是两个不同的操作,它们分别用于本地版本库和远程版本库。

        (1)提交修改 git commit

        ①本地操作:git commit 用于将当前工作目录中的修改提交到本地版本库。这个操作将你在工作目录中所做的更改创建为一个新的提交(commit)。

        ②提交消息:每次提交都需要附带一个提交消息,这个消息描述了你所做的修改的目的和内容。

        ③不影响远程仓库:git commit 操作只影响你本地的版本库,其他开发者在他们的本地版本库中不会看到你的提交。

        (2)推送更改 git push

        ①远程操作:git push 用于将本地的提交推送到远程版本库,通常是与共享仓库(比如GitHub、GitLab等)进行交互。这将你本地的提交同步到共享仓库中,以便其他开发者能够看到和获取这些更改。

        ②分支关联:在推送之前,通常你需要确保本地分支与远程分支关联。这可以通过 `git push -u origin <branch-name>` 命令来完成,其中 `<branch-name>` 是你的本地分支名。

        ③需要权限: 推送操作需要相应的权限。你必须有推送到远程仓库的权限,通常需要提供用户名和密码或者SSH密钥。

四、关于分支管理和解决冲突

1. 分支管理

        分支是Git强大功能之一,可以用于并行开发和功能测试。创建新分支和切换分支的命令如下:

git branch feature-branch

2. 解决冲突

        在合并分支或拉取更改时,可能会发生冲突。解决冲突的过程包括手动编辑文件以解决冲突并提交更改。

报 fatal:remote origin already exists

        这个错误通常表示你在尝试添加远程仓库时,Git 已经存在名为 "origin" 的远程仓库。origin 是Git默认用来指代远程仓库的名称,通常与你的项目关联。

        如果你已经有了一个远程仓库,再次尝试添加 origin 将会导致这个错误。解决方法有两种:

(1)查看已有的远程仓库

        你可以先查看已有的远程仓库,确认是否已经存在名为 "origin" 的远程仓库。可以使用以下命令查看:

git remote -v

        如果已经存在 "origin",你可能不需要再次添加它。你可以直接使用已存在的远程仓库进行拉取和推送。

(2)修改已有的远程仓库

        如果你确实需要修改远程仓库,你可以使用以下命令来修改 origin 的URL:

git remote set-url origin <new-url>

        将 <new-url> 替换为新的远程仓库URL。这样可以更新 origin 的URL,而不会导致冲突。

请根据你的具体情况选择合适的方法。确保你了解项目当前的远程仓库设置,以便不会不小心覆盖或创建重复的远程仓库。

        更多C/C++语言Linux系统数据结构ARM板实战相关文章,关注专栏:

   手撕C语言

            玩转linux

                    脚踢数据结构

                            系统、网络编程

                                     探索C++

                                             6818(ARM)开发板实战

📢写在最后

  • 今天的分享就到这啦~
  • 觉得博主写的还不错的烦劳 一键三连喔~
  • 🎉🎉🎉感谢关注🎉🎉🎉

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

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

相关文章

BUUCTF [HBNIS2018]excel破解 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。来源&#xff1a; https://github.com/hebtuerror404/CTF_competition_warehouse_2018 密文&#xff1a; 下载附件&#xff0c;得到一个attachment.xls文件。 解题思路&#xff…

ABB机 器 人 操 作 培 训

目 录 1 培训手册介绍 ---------------------------------------------2 2 系统安全与环境保护 ---------------------------------------------3 3 机器人综述 ---------------------------------------------5 4 机器人示教 --------------------------------------------12…

.Net6 Api Swagger配置

1、定义个Swagger版本&#xff08;组&#xff09;的枚举 namespace WebApp.Enums {/// <summary>/// api版本枚举/// </summary>public enum ApiVersion{/// <summary>/// v1版本/// </summary>v1 1,/// <summary>/// v2版本/// </summary&…

Axios 拦截器 请求拦截器 响应拦截器

请求拦截器 相当于一个关卡&#xff0c;如果满足条件就放行请求&#xff0c;不满足就拦截 响应拦截器 在处理结果之前&#xff0c;先对结果进行预处理&#xff0c;比如&#xff1a;对数据进行一下格式化的处理 全局请求拦截器 axios.interceptors.request.use(config > { /…

电脑开机显示器没反应?5个方法轻松解决!

“各位朋友们&#xff0c;我想问问&#xff0c;电脑开机显示器没反应是为啥呢&#xff1f;有什么方法可以解决这个问题吗&#xff1f;感谢感谢&#xff01;” 在使用电脑时&#xff0c;用户可能会遇到各种各样的情况。电脑开机显示器没反应也是一个比较常见的电脑问题。遇到这种…

Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的新冠病毒密接者跟踪系统(有报告)。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的新冠病毒密接者跟踪系统&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;v…

JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用 那么 我们可以来看一下我们的集合 首先 list 这个比较简单 我们直接这样写代码 <% page import"java.util.ArrayList" %> <% page import"java.util.Lis…

两种常见EMC整改流程!|深圳比创达电子EMC

如何定位EMC整改计划可以分为两点&#xff1a; 1、根据以往的整改经验来进行判断&#xff1b; 2、比较测试&#xff0c;测试结束后根据测试仪器提供的数据进行问题分析。 下面介绍两种常见的EMC整改流程。 1、RE超标整改流程 首先要测量超标(临界)点&#xff0c;作为参考值…

注册并实名认证华为开发者账号

首先 我们访问 https://www.harmonyos.com/ 访问鸿蒙官方网站 右上角 我们点击 登录 然后 我们选择注册 然后 注册方式 有邮箱和手机号的注册 这边 看大家需要 如果像我不怎么登邮箱这种 建议还是选择手机号注册 这里 居住地区 应该就是默认中国吧 然后 手机号 验证码 密码…

入选《数据结构与算法领域内容帮榜》第44名

入选《数据结构与算法领域内容帮榜》第44名

Spring-jdbcTemplate-配置数据库连接池

1、jdbc.properties jdbc.drivercom.mysql.cj.jdbc.Driver jdbc.urljdbc:mysql:///studb jdbc.userroot jdbc.pwd123456 2、beans.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans&…

安卓毕业设计基于安卓android微信小程序的家校通系统

运行环境 开发语言&#xff1a;Java 框架&#xff1a;ssm JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序运行软件&#xff1a;微信开发者 项目介绍 基于微信小程序的家校通系统的设计基…

Nginx 413 Request Entity Too Large

当出现上图时候 更改nginx config 文件 在http{}或者server{}或者location{}中增加client_max_body_size 100m; 然后重启nginx 服务就好了

【深度学习】六大聚类算法快速了解

在机器学习中&#xff0c;无监督学习一直是我们追求的方向&#xff0c;而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。目前如谷歌新闻等很多应用都将聚类算法作为主要的实现手段&#xff0c;它们能利用大量的未标注数据构建强大的主题聚类。本文从最基础的 K 均值聚类…

JAVA小游戏“飞翔的小鸟”

第一步是创建项目 项目名自拟 第二步创建个包名 来规范class 再创建一个包 来存储照片 如下&#xff1a; 代码如下&#xff1a; package game; import java.awt.*; import javax.swing.*; import javax.imageio.ImageIO;public class Bird {Image image;int x,y;int width…

STM32 CAN通信自定义数据包多帧连发乱序问题

场景&#xff1a; can标准帧中每一帧只能传输8字节&#xff0c;而应用中传输一包的内容往往超过8字节&#xff0c;因此需要把一个包拆成多个帧发送&#xff0c;接收端才把收到的多帧重新组装成一个完整的包 问题描述 在一问一答的两块板间通信&#xff0c;多帧连发是能够按照…

优思学院|2024年质量管理的大趋势

2023年我们已经顺利度过了整年的大部分时间&#xff0c;2024年质量管理的趋势和问题在全球范围内都已经引起了关注&#xff0c;或者仍然是企业导航的首要任务。 1. 通货膨胀与质量管理 2023年&#xff0c;全球范围内通货膨胀和严峻的经济状况成为企业最关心的问题之一。尽管物…

electron27-react-mateos:基于electron+react18仿matePad桌面系统

基于Electron27React18ArcoDesign搭建桌面版OS管理系统。 electron-react-mateos 基于最新前端跨端技术栈electron27.xreact18arco-designzustand4sortablejs构建的一款仿制matePad界面多层级路由管理OS系统。 ElectronReactOS支持桌面多路由配置&#xff0c;新开窗口弹窗开启路…

单片机调试技巧--修改bin文件实现断点

fromelf --text -a -c --outputall.dis F103_Moduel\F103_Moduel.axffromelf --bin --outputtest.bin F103_Moduel\F103_Moduel.axf 在启动文件中&#xff0c;修改UsageFault_Handler UsageFault_Handler\PROC; get current contextTST lr, #0x04 ; if(!EXC_RETURN[2])ITE…

学习量化交易如何入门?

Python 量化入门很简单&#xff0c;只需 3 步就能快速上手! 题主在程序方向没有相关经验&#xff0c;今天就从量化行业的通用语言-Python 着手&#xff0c;教大家如何快速入门。 一、准备工作 在开始 Python 编程之前&#xff0c;首先需要确保你的计算机上安装了合适的 Pytho…