Git 入门使用

一、Git 入门

1.1 Git简介

  Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Git是目前世界上最先进的分布式版本控制系统,没有之一! 它可以让你追踪文件的变化,查看文件的历史记录,还原过去的状态,比较不同版本的文件,合并不同的版本等。这些功能对于团队协作开发非常重要。

Git与常用的版本控制工具CVS, Subversion等不同之处在于,它采用了分布式架构,每个开发者都拥有一个完整的版本库,可以在本地进行大部分操作,这使得Git在处理大型项目时具有更高的效率和灵活性。

1.2 Git安装 

本文使用的是Windows版本: 

Git - Downloads

1、安装路径

建议不要安装到c盘中,防止出现权限问题

 2、选择安装组件

3、选择开始菜单文件夹:方框内 Git 可改为其他名字,"Don't create a Start Menu folder" 打勾不要文件夹

 

4、选择 Git 默认编辑器:Git 安装程序里面内置了 10 种编辑器供你挑选,默认的是 Vim ,选择 Vim 后可以直接进行到下一步,但是 Vim 是纯命令行,操作有点难度,需要学习。如果选其他编辑器,则还需要去其官网安装后才能进行下一步。

 

5、决定初始化新项目(仓库)的主干名字:第一种是让 Git 自己选择,名字是 master ,但是未来也有可能会改为其他名字;第二种是我们自行决定,默认是 main。

6、图一:调整 path 环境变量  图二:选择 SSH 执行文件  图三:选择HTTPS后端传输 

 

 

7、图一:配置行尾符号转换  图二:配置终端模拟器以与 Git Bash 一起使用  图三:选择默认的 “git pull” 行为

      

8、图一: 选择一个凭证帮助程序  图二:配置额外的选项(只需选择第一项) 图三:安装成功            

1.3 创建码云仓库

1、首先需要注册一个gitee账号 

2、创建我的仓库

 

创建成功后一定要保存一下命令信息,因为只会出现一次。

 

二、Git 使用

2.1 git初始化操作

1、首先在本地新建一个文件夹也就是你的本地仓库用于存储代码,打开Git Bash Here终端

git config --global user.name "李文昊"
git config --global user.email "13670949+li-wenhao1234@user.noreply.gitee.com"

 此时c判断用户路径下会出现一个.gitconfig文件,用于git的全局配置

 2、创建git仓库,并将这个仓库标记为git所托管的本地仓库

mkdir 123
cd 123
git init 

3、将本地仓库与远程git仓库相关联,并提交到本地仓库

touch README.md
git add README.md
git commit -m "提交时的备注信息
"

4、 提交到远程仓库,并进行推送

git remote add origin https://gitee.com/li-wenhao1234/123.git
git push -u origin "master"

 刷新git仓库就可看到推送过来的文件了

2.2 代码上传

添加代码项目工程到git本地仓库(此时我利用文本文件为案例)

 

1、将内容从工作目录添加到暂存区:git add .(指令)

2、将所有通过 git add 暂存的文件提交到本地仓库:git commit (指令)

3、将本地仓库的记录提交到远程仓库: git push(指令)

2.3 代码下载

首先新建一个文件夹来保存下载的项目资源

1、下载代码需要拿到仓库的URL(如果是私有仓库还需要仓库拥有者提供账户和密码) 

指令:git clone [url]:克隆远程仓库到本地。

三、Git 常用命令

   git clone :将远程仓库clone到本地计算机。
   git status :展示工作区及暂存区域中不同状态的文件。
   git add :将内容从工作目录添加到暂存区。
   git commit :所有通过 git add 暂存的文件提交到本地仓库。
   git push :将本地仓库的记录提交到远程仓库。
   git reset HEAD <file> :从暂存区移除指定文件。
   git pull :拉取远程仓库的数据。
   git init

  git log:查看提交历史记录。
  git branch:查看分支列表。
  git checkout [branch]:切换到指定分支。
  git merge [branch]:将指定分支合并到当前分支。
  git remote add origin [url]:关联本地仓库与远程仓库。
  git diff:查看工作区与暂存区的差异。
  git reset [commit]:撤销提交,并将HEAD指针移动到指定的提交。
  git stash:将当前修改保存到临时存储区,以便切换分支或恢复后再次应用。

四、文件冲突错误

在一个小组正常使用git的时候会发生这样一种情况,比如张三和李四同时拉取了一个最新的项目,此时张三修改了其中的内容,然后提交到了码云,但是此时李四也修改了项目的内容,(此时他的项目和张三修改前的项目是一样的),这个时候,李四修改完成了之后也提交到码云,就会有一个错误,提示我们文件有冲突,然后我们就需要重新打开文件就会发现,李四所修改的内容和张三所修改的内容都出现在了文件上,此时我们就需要线下沟通保留谁的内容,留下需要的那部分,再此提交即可

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

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

相关文章

行情分析——加密货币市场大盘走势(11.10)

大饼今日继续上涨&#xff0c;正如预期&#xff0c;跌不下来&#xff0c;思路就是逢低做多。现在已经上涨到36500附近&#xff0c;目前从MACD日线来看&#xff0c;后续还要继续上涨&#xff0c;当然稳健的可以不做。昨日的策略已经达到止盈&#xff0c;也是顺利的落袋为安啦。一…

黑洞路由的几种应用场景

第一种在内网中产生环路&#xff1a; 这种核心交换机上肯定写一条默认路由 0.0.0.0 0 10.0.0.1 出口路由要写一条192.168.0.0 16 10.0.0.2 如果出口路由访问一条不存在的内网网段&#xff0c;又或者访问的那台终端停机了&#xff0c;那就会产生三层环路&#xff0c;数据包在…

Sentinel网关限流

背景 在微服务架构下&#xff0c;每个服务的性能都不同&#xff0c;为避免出现流量洪峰将服务冲垮&#xff0c;需要依赖限流工具来保护服务的稳定性。sentinel是阿里提供的限流工具&#xff0c;社区活跃&#xff0c;功能也很全面&#xff0c;包含实时监控、流控、熔断等功能。…

实现智慧工地的高效建筑管理,数据分析起着关键作用!

智慧工地是利用物联网、云计算、大数据等技术&#xff0c;实现对建筑工地实时监测、管理和控制的一种新型建筑管理方式。 智慧工地架构&#xff1a; 1、终端层&#xff1a;充分利用物联网技术、移动应用、智能硬件设备提高现场管控能力。通过RFID、传感器、摄像头、手机等终端…

很多个pdf怎么合并在一起?

很多个pdf怎么合并在一起&#xff1f;作为一个办公室的伙伴&#xff0c;对于PDF格式肯定不会陌生。它强大的功能为我们的工作提供了许多便利。由于PDF文件格式的稳定性和安全性较高&#xff0c;我们通常在工作或学习中使用它来传输文件&#xff0c;很多人都喜欢将办公文件都做成…

NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)

背景 windows11 node版本降低到v12.22.12后&#xff0c;执行&#xff1a;nvm -v npm -v npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写&#xff0c;如果 包括路径&#xff0c;请确保路径正确&#xff0c;然后再试一次。 所在位置 …

Python 解决tkinter的Menu菜单command参数与bind方法共用触发事件

用普通函数作为媒介&#xff0c;使用event_generate()方法模拟触发bind()事件来创建一个模拟的event对象&#xff0c;并将其传递给绑定的事件处理函数。 运行结果 示例代码 import tkinter as tk# 菜单事件 def menuEvent(event):print(event.x, event.y)label.config(textf鼠…

OC-编译错误

明明包含了头文件&#xff0c;但是还是显示未知的类型 可能这个头文件被某个宏包住了 #if defined(__cplusplus) 在 C 代码中包含了一个 C 的头文件会显示这个错误“the util lib only be used in c”&#xff0c;此时用 #if defined(__cplusplus) #endif 包一下就行了&…

IntelliJ IDEA 2023.2.1 (Ultimate Edition) 版本 Git 如何合并多次的本地提交进行 Push

本心、输入输出、结果 文章目录 IntelliJ IDEA 2023.2.1 (Ultimate Edition) 版本 Git 如何合并多次的本地提交进行 Push前言为什么需要把多次本地提交合并合并提交的 2 种形式:事中合并、事后合并事中合并事后合并:支持拆分为多组提交弘扬爱国精神IntelliJ IDEA 2023.2.1 (U…

Android Mvp案例解析

目录 后端数据接口数据格式 App客户端布局逻辑主界面布局 M&#xff08;Model&#xff09;V&#xff08;View&#xff09;P&#xff08;Presenter&#xff09;OkhttpRetrofitRxJava网络http请求 Mvp架构-初学者MVP架构的契约者 后端数据接口 接口地址&#xff1a;https://apis.…

flink1.18.0 自适应调度器 资源弹性缩放 flink帮你决定并行度

jobmanager.scheduler Elastic Scaling | Apache Flink 配置文件修改并重启flink后,webui上会显示调整并行度的按钮,他可以自己调整,你也可以通过webUI手动调整: 点击 之后: 调整完成后:

机器学习——朴素贝叶斯

目录 一、贝叶斯方法 背景知识 贝叶斯公式 二、朴素贝叶斯原理 判别模型和生成模型 1&#xff0e;朴素贝叶斯法是典型的生成学习方法 2&#xff0e;朴素贝叶斯法的基本假设是条件独立性 3&#xff0e;朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测 用于文…

FindMy网络帮助您找到电动车

随着科技的发展&#xff0c;我们的生活变得越来越智能化。而现在&#xff0c;这项技术已经深入到了我们的出行方式中。如果你是一位电动车主&#xff0c;那么你可能会遇到一个常见的问题&#xff1a;忘记你的电动车停在了哪里。这种情况在日常生活中时有发生&#xff0c;而现在…

Python - 利用 OCR 技术提取视频台词、字幕

目录 一.引言 二.视频处理 1.视频样式 2.视频截取 ◆ 裁切降帧 ◆ 处理效果 3.视频分段 三.OCR 处理 1.视频帧处理 2.文本识别结果 3.后续工作与优化 ◆ 识别去重 ◆ 多线程提效 ◆ 片头片尾优化 四.总结 一.引言 视频经常会配套对应的台词或者字幕&#xff0c…

CSS时间线样式

css实现时间线样式&#xff0c;效果如下图&#xff1a; 一、CSS代码 .timeline {padding-left: 5px} .timeline-item { position: relative;padding-bottom: 20px;} .timeline-axis {position: absolute;left: -5px;top: 0;z-index: 10;width: 20px;height: 20px;line-he…

火爆全网!用 Pyecharts 就能做出来“迁徙图“和“轮播图“

1.pyecharts知识点回顾 1&#xff09;知识回顾 前面我们已经讲述了&#xff0c;如何使用pyecharts进行图形的绘制&#xff0c;一共涉及到如下四步。我们今天就是按照下面这几步来进行迁徙图和轮播图的绘制。 ① 选择图表类型&#xff1b; ② 声明图形类并添加数据&#xff1…

uni-app基于vite和vue3创建并集成pinia实现数据持久化

一、uni-app基于Vite和Vue3创建并集成pinia实现数据持久化 文章目录 一、uni-app基于Vite和Vue3创建并集成pinia实现数据持久化1.如何创建基于Vite和Vue3的uni-app项目&#xff1f;2.选择其中一个分支&#xff0c;就是一个脚手架 二、以下都是基于vite-ts版本创建和配置1.目录结…

用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC]

文章目录 用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 用友NC Cloud accept.jsp接口任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明&#xff1a…

Redis客户端-引入jedis

ssh端口转发 Redis服务器在官网公开了使用的协议(RESP),此时任何一个第三方都可以通过上述协议,来实现出一个和redis服务器通信的客户端程序. 现在,已经有很多库可以让我们直接调用,就不必关注redis协议的细节了. 在java的生态中,封装了RESP协议,实现的redis客户端有很多,我…

JavaScript脚本操作CSS

脚本化CSS就是使用JavaScript脚本操作CSS&#xff0c;配合HTML5、Ajax、jQuery等技术&#xff0c;可以设计出细腻、逼真的页面特效和交互行为&#xff0c;提升用户体验&#xff0c;如网页对象的显示/隐藏、定位、变形、运动等动态样式。 1、CSS脚本化基础 CSS样式有两种形式&…