版本控制系统-Git

目录

1. Git简介

2. 下载及安装

3.命令行操做

3.1全局设置

3.2初始化仓库

3.3提交代码

3.4查看提交历史

3.5推送代码 

3.6拉取合并代码

3.7克隆仓库

3.8. 配置忽略文件 

3.9. 凭据管理

 4. GUI工具操作

4.1. 全局设置 

4.2. 初始化仓库 

4.3. 提交代码

 输入提交日志并提交

4.4. 推送代码 

9. 异常问题处理

9.1. git push失败


1. Git简介

当涉及到软件开发或协作时,版本管理是一个不可或缺的概念。无论你是一个独立开发者还是一个团队成员,都会遇到需要跟踪和管理代码变更的情况。这时候,Git作为一个强大而流行的版本控制系统就发挥着重要的作用。

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助社区管理Linux内核而开发的一个开放源码的版本控制软件。2005年7月份,Linus花了两周时间自己用C写了第一个版本分布式版本控制系统。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper

Git是目前世界上最先进的(没有之一)分布式版本控制系统

Add:这里的Add不只是新增文件,包含所有对文件的操作(新增、修改、删除)。同样,Commit也是如此。

Push:将所有的Commit推送给服务器

Pull:将服务器新的Commit(可能是别人提交的,或者自己另一台设备提交的)拉取下来

 

2. 下载及安装

git官方下载地址:Git - Downloads,下载64位安装版。

3.命令行操做

Git常用命令-CSDN博客

3.1全局设置

配置(config)用户名和邮箱(git仓库网站上的注册邮箱)
查看现有配置


3.2初始化仓库

创建新的本地仓库,首先创建一个目录git_test,然后在控制台进入该目录,执行初始化(init)

git init # 在指定目录初始化git本地仓库

可以通过如下命令查看仓库当前状态

git status

3.3提交代码

目录git_test中创建一个文件README.md,提交(commit)该文件

git add README.md # 或 git add .

git commit -m "第一次提交" # -m 后的提交日志必须要写

此时,我们的代码就拥有了历史记录,可以在本地随时回退到历史的版本。不要任何互联网操作。
可以使用git add .将未被版本管理的文件纳入到版本管理系统。

3.4查看提交历史

git log

3.5推送代码 

如果需要永久保存代码,或者想用其他电脑获取代码,或分享给同事进行共同开发,才需要联网,把代码推送到一个公共网络的代码仓库里。
将本地仓库与远程仓库git_test_first关联起来,随后推送(push)过去

git remote add origin https://gitee.com/asnheng/git_test_01.git

git push -u origin "master"

此时,我们的代码在远程服务器(名字叫origin)也有一个永久的备份了
本地可以添加多个远程仓库,如果只有一个,名字建议使用origin
可以通过git remote -v查看有哪些远程仓库链接

3.6拉取合并代码

如果远程仓库的代码被别人修改并推送了,或者自己在其他电脑上修改推送了,则可以把那些修改拉(pull)下来,并与本地的代码进行合并。

git pull

3.7克隆仓库

我们可以去开源平台上clone别人的代码,同样的,如果你的代码仓库是公开的,则别人可以下载到你的代码。

git clone https://gitee.com/asnheng/git_test_01.git

 

3.8. 配置忽略文件 

有一些临时文件不需要被提交,例如windows下的.swp,苹果下的.DS_Store。则可以通过在根目录的.gitignore文件中添加描述,对这些文件进行忽略

# 忽略所有.swp结尾的文件
*.swp

# 忽略指定文件
打包.zip

# 忽略目录
.idea/

3.9. 凭据管理

向git管理网站push代码时,首次需要输入账号和密码,后边会自动保存,如果需要查看、修改、删除。可打开Windows凭据管理。

  1. 点开始按钮(按下Windows键),搜索“凭据管理器”

    2.点击Windows凭据,可对普通凭据里之前输入的用户名密码进行编辑和删除操作  

 4. GUI工具操作

可以通过安装GUI客户端,替代大量的命令行操作,Git官方也推荐了很多GUI工具:Git - GUI Clients

我们这里推荐使用TortoiseGit(小乌龟):TortoiseGit – Windows Shell Interface to Git 支持中文

  • 请下载64-bit Windows最新版客户端
  • 请下载对应的 Chinese, simplified 简体中文汉化包

4.1. 全局设置 

4.2. 初始化仓库 

直接点确定 

4.3. 提交代码

在仓库中按住Shift按鼠标右键

 输入提交日志并提交

4.4. 推送代码 

 

9. 异常问题处理

9.1. git push失败

错误截图1:

说明远程仓库已经初始化过了(新建仓库时,勾选了初始化README.md等文件),需要先git pull才能推送。此时由于本地也初始化过,所以建议在一个空的目录把远程仓库clone下来,然后把项目代码拷贝进去再提交推送。

或者使用TortoiseGit进行pull操作,然后点击【合并非相关历史】:

错误截图2: 

注册账户时不能勾选隐藏email,否则无法推送代码。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【linux-1-Ubuntu常用命令-vim编辑器-Vscode链接ubuntu远程开发】

目录 1. 安装虚拟机Vmare和在虚拟机上安装Ubuntu系统:2. 常用的Ubuntu常识和常用命令2.1 文件系统结构2.2 常用命令2.3 vim编辑器 3. Ubuntu能联网但是ping不通电脑:4. Windows上安装VScode链接ubuntu系统,进行远程开发: 1. 安装虚…

uni-app - 使用地图功能打包安卓apk的完美流程以及重要的注意事项(带您一次打包成功)

在移动应用开发中,地图功能是一个非常常见且实用的功能,可以帮助用户快速定位并浏览周边信息。而在uni-app开发中,使用地图功能也是一项必备技能。本文将介绍uni-app使用地图功能打包安卓apk的注意事项,帮助开发者顺利完成地图功能…

每日OJ题_DFS爆搜深搜回溯剪枝①_力扣784. 字母大小写全排列

目录 力扣784. 字母大小写全排列 解析代码1_path是全局变量 解析代码2_path是函数参数 力扣784. 字母大小写全排列 784. 字母大小写全排列 难度 中等 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回…

Linux环境下的编译和调试

本文目录 一、编译1. gcc/g编译器2. gcc/g安装3. 代码编译过程4. gcc编译 二、调试1. 下载gdb调试器2. gdb 调试器使用步骤 一、编译 1. gcc/g编译器 对于.c 格式的 C 文件,可以采用 gcc 或 g编译。 对于.cc、.cpp 格式的 C文件,应该采用 g进行编译。 …

第一个Cython程序-helloworld

Cython是Python的一个模块,可以将python语言“翻译”成C语言。 如何安装? python -m pip install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple/ 新建两个文件helloworld.pyx和setup.py。 helloworld.pyx print("hello world")setu…

【学习vue 3.x】(五)VueRouter路由与Vuex状态管理

文章目录 章节介绍本章学习目标 路由的基本搭建与嵌套路由模式vue路由的搭建嵌套路由模式 动态路由模式与编程式路由模式动态路由模式编程式路由 命名路由与命名视图与路由元信息命名路由命名视图路由元信息 路由传递参数的多种方式及应用场景路由传参 详解route对象与router对…

ubuntu开启message文件

环境:ubuntu 20.04 1、首先需要修改 /etc/rsyslog.d/50-default.conf 文件;源文件中message被注释,如下图: 2、打开注释: 3、重启服务 systemctl restart rsyslog.service 如此即可!

OFDM802.11a的FPGA实现(五)卷积编码器的FPGA实现与验证(含verilog代码和matlab代码)

目录 1.前言2.卷积编码2.1卷积编码基本概念2.2 802.11a卷积编码器2.3 卷积编码模块设计2.4 Matlab设计与ModelSim仿真验证 1.前言 前面一节完成了扰码器的FPGA设计与Matlab验证,这节继续对卷积编码器进行实现和验证。 2.卷积编码 2.1卷积编码基本概念 卷积码编码器…

Aiseesoft Data Recovery for Mac:专业数据恢复软件

Aiseesoft Data Recovery for Mac是一款高效且专业的数据恢复软件,专为Mac用户量身打造。 Aiseesoft Data Recovery for Mac v1.8.22激活版下载 无论是由于误删、格式化还是系统崩溃等原因导致的数据丢失,Aiseesoft都能帮助您快速找回。 它采用先进的扫描…

Windows下Git安装

目录 一、下载二、安装三、查看 Git 安装路径 一、下载 下载链接:https://git-scm.com/ 二、安装 双击安装包,按提示一步步进行操作: 三、查看 Git 安装路径 where git D:\Program Files\Git\cmd\git.exe

什么是DDoS攻击?怎么防御DDoS攻击?

在网络安全领域,DDoS攻击一直是热门话题,随着网络技术的不断发展和网络环境的复杂化演变,DDoS攻击变得愈加频繁、更具破坏性。根据2023年网络安全态势研判分析年度综合报告,全年全网网络层的DDoS攻击次数达2.51亿次!本…

卷积通用模型的剪枝、蒸馏---蒸馏篇--KD蒸馏(以deeplabv3+为例)

上篇文章介绍了剪枝篇,本文以上篇的剪枝模型为学生模型,以剪枝之前的模型为教师模型,进行KD逻辑蒸馏,之后会尝试特征蒸馏和关系蒸馏等。 一、KD逻辑蒸馏 1.1 大致过程 逻辑蒸馏,是基于分类问题设计的,因此非常适用于语义分割。模型最后会有一个softmax层,其输出值对应了…

React正式更新!开始学习React 19!

本文为原创文章,原文链接:J实验室,未经授权请勿转载 今年2月份,React 发布消息确认今年发布 v19 版本,尘封两年的版本号终于要更新了(详情点击:React 19 发布在即,抢先学习一下新特性…

x2600君正 ubi文件系统的编译和烧录

使用平台:君正x2600 ubi文件系统使用问题 1.ubi文件和ubifs文件 2 方法:mkfs.ubifs和ubinize两步打包ubi文件系统 mkfs.ubifs工具 mkfs.ubifs命令用于制作ubifs文件系统,命令示例如下: mkfs.ubifs -x lzo -m 2KiB -e 124KiB -c 3…

FSNotes for Mac v6.7.1中文激活版:强大的笔记管理工具

FSNotes for Mac是一款功能强大的文本处理与笔记管理工具,为Mac用户提供了一个直观、高效的笔记记录和整理平台。 FSNotes for Mac v6.7.1中文激活版下载 FSNotes支持Markdown语法,使用户能够轻松设置笔记格式并添加链接、图像等元素,实现笔记…

【软考高项】第十二章 项目质量管理

目录 12.1管理基础 12.1.1质量与项目质量 12.1.2质量管理 12.1.3质量管理标准体系 12.1.4管理新实践 12.2项目质量管理过程 12.2.1过程概述 12.2.2裁剪考虑因素 12.2.3敏捷与适应方法 12.3规划质量管理 12.3.1输入 12.3.2工具与技术 12.3.3输出 12.4管理质量 12…

最小K个数(力扣面试题17.14)

本文采用的是大堆排序求最小的K个值。需要有堆的数据结构基础哦。 代码展示: /*** Note: The returned array must be malloced, assume caller calls free().*/ void AdjustDown(int* parr,int n,int root)//向下调整 {int parentroot;int child parent*21;while…

opencv_23_高斯模糊

void ColorInvert::gaussian_blur(Mat& image) { Mat dst; GaussianBlur(image, dst, Size(0, 0), 15); // Size(2, 2), imshow("图像模糊2", dst); }

代码随想录算法训练营DAY42|C++动态规划Part4|0-1背包理论基础(一)、0-1背包理论基础之滚动数组(二)、416.分割等和子集

文章目录 0-1背包理论基础(一)前置知识01背包动态规划:01背包二维dp数组 CPP代码再论01背包的遍历顺序 0-1背包理论基础(二)一维dp数组如何初始化一维dp数组遍历顺序举例推导dp数组CPP代码 416.分割等和子集思路将题目抽象成0-1背包问题 CPP代码 0-1背包理论基础(一…

2013NOIP普及组真题 4. 车站分级

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1964 核心思想: 1、原文中提到 “如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠”,如果设停靠站为A&…