代码版本管理工具 git

1. 去B站看视频学习,只看前39集:

01-Git概述(Git历史)_哔哩哔哩_bilibili

2.学习Linux系统文本编辑器的使用

vi编辑器操作指令分享 (baidu.com)

(13条消息) nano编辑器的使用_SudekiMing的博客-CSDN博客

windows下载安装
Git官方下载地址:
Git - Downloading Package
安装图解:
https://www.cnblogs.com/ximiaomiao/p/7140456.html
linux下载安装
sudo apt install git
windowsgit命令与Linux一致

git 的命令

git init    初始化仓库

git clone  https://        克隆仓库

git status   查看仓库状态

git add <file/name>            添加文件到暂存区

git commit -m "文件信息"   提交更改的文件到仓库

git rm <file_name>  删除文件,然后提交,版本仓库的也删除了

git config --list  查看用户名和邮箱 

git checkout -b <分支名>   #创建新的分支
git branch                #查看分支
git rm -r --cached <文件名>  # 删除远程文件或者文件夹子
git push origin --delete <分支名> #删除远程分支
git branch -d <分支名>     # 删除本地分支
git remote -v               #显示远程仓库
git merge <分支名>         # 合并分支
git pull                  # 拉取, 一般两个人同时对一个分支进行修改后,如果别人先提交的,则需要拉取下来在本地解决冲突后合并
git rebase                #变基  
git log                   #查看历史提交
git checkout <commit 序列> #回退到历史版本  
git reflog                # 记录每一次的命令
git branch <新分支名> <序列号>  #如果回退到历史版本后更改代码了,想再次提交,则可切换到最新版本, 然后用该命令行创建新的分支

仓库

查看文件的状态 git status 

把文件添加到暂存区   git add <file_name>    取消添加      git reset <file_name>

提交到本地仓库      git commit  -m ""

修改的文件想要提交到仓库,必须先要添加到暂存区

git commit -a -m ""  添加到暂存区并提交到仓库

文件加入到忽略列表,不需要版本管理。创建.gitignore文件,列出要忽略的文件后缀  命令: touch .gitignore

查看远程仓库     git remote

新建的本地仓库需要关联远程仓库,才能Push ,可以关联多个远程仓库

关联远程仓库    git remote add origin < https://> 

克隆仓库会把历史版本和日志信息一起复制下来

git remote rm  从本地移除远程仓库的记录

fetch抓取   pull拉取    merge合并

git fetch  origin master从远程仓库获取最新版本到本地仓库,不会自动merge ,需要手动合并到工作区,git merge  origin  master

git pull origin master  从远程仓库获取最新版本并merge到本地仓库,

如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories

git push origin master 将本地仓库推送到远程仓库

分支

查看分支

列出所有分支  git branch -a

列出所有本地分支  git branch 

列出所有远程分支  git branch -r

创建分支 

git branch <name>

以当前分支为基础创建的,所以一般在主分支创建新分支

切换分支 git checkout <name>

推送新分支到远程仓库 git push origin <name>

合并分支

进入主分支执行git merge <name>

两分支合并,对于同一个文件不同的修改,会报错,需要自己去修改文件, 然后 git add <修改的文件名>, 说明已解决冲突 ,然后提交到本地仓库,最后推送分支到远程仓库

在合并改动之前,可以使用如下命令预览两个分支的差异:

git diff <source_branch> <target_branch>

删除本地分支

git branch -d <name>      ,   强制删除: git branch -D <name>  ,不建议

删除远程仓库分支  git push origin -d <name>

标签

标签常用做版本名 标识

git tag <name> 创建标签

git tag 列出所有标签

git show <name> 查看标签信息

git push origin <name>  推送标签到远程仓库

git tag -d [tag] 删除本地标签

git push origin :refs/tags/[tag]

检出标签 :新建一个分支,指向某个tag, 这个分支就以那个版本为基础,

命令: git checkout -b [branch] [tag] 

在ubuntu 代码版本管理流程

 第一步:

安装git命令

sudo apt-get install git

指定用户名和邮箱 

如果是私人电脑,用你名字的拼音作为user.name ,你的邮箱作为user.email

如果是公用小电脑,用feihu作为user.name ,用123456@jqr 作为user.email

$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"

然后到代码工作区里执行命令 git init 初始化本地仓库,如果有了.git就不用执行

(如果看不到.git,按Ctrl + H 显示隐藏的文件 )

git remote 查看远程仓库,没有origin的话就添加远程仓库:  git remote add origin <https://gitee.com/用户名/仓库名/树/分支>  进行关联

第二步:

 在开发过程中,同分支上如果别人对远程仓库的代码进行了修改。我们就可以使用git pull拉取远程代码,就可以将别人最新修改的代码同步到我们的本地工作区。

git pull origin master  --allow-unrelated-histories  拉取master分支的最新版本到本地

写代码,修改代码

git add .    把所有的文件添加到暂存区

git commit -m "信息"  

信息的写法:对哪个文件进行了操作,需要注意什么

或者一个命令完成:  git commit -a -m "信息"      添加到暂存区并提交到仓库

git push origin master 将本地仓库推送到远程仓库

输入你的git邮箱和密码

如果嫌每次输入git账号和密码麻烦,设置保存密码。如,将账号密码保存 30 分钟

git config --global credential.helper 'cache --timeout=1800'

注意问题

 假如你新建了一个远程仓库,里面只有README.md文件,这时你在本地仓库想推送代码到远程仓库,就会报上面的错,因为远程仓库含有本地仓库不存在的文件,推送的话可能会覆盖掉远程仓库的文件。解决方法:

1.先同步git/github上的文件到本地,在本地更改将内容进行合并后再上传,依次执行下面命令:

git pull origin master  --allow-unrelated-histories  拉取文件并合并到本地

如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories
git push origin master  推送

2.强行推送(不建议)

 git push -u origin +master

强行上传会覆盖掉远程仓库的文件,不到万不得已不用

如果远程仓库的代码被别人修改过而你在修改本地代码前没有pull拉取最新的,会导致代码版本不一样,这时候会提交失败,可以 git push --force origin 分支名,这样会本地代码强制覆盖远程仓库代码(会覆盖掉别人的修改),所以每次更改代码前最好pull一下。如果远程没有这个分支,会在远程仓库新建一个。不建议强行覆盖,如果要强行覆盖,先问问你团队的人。

回溯操作:如果你pull代码后发现你的代码被其他人误操作了,可以git reset --hard HEAD^,使本地仓库当前分支回退到上一次提交的状态,回退前记得切换到相应分支。而HEAD^^表示上上次的状态,HEAD~100表示上100次的状态。也可以把HEAD换成上一步中log里的commit的序列号。

如果代码有大改,记得推送一个版本标签,方便维护版本

git tag <name> 创建标签 v1.0

git push origin <name>  推送标签到远程仓库

调试:

未完待续...

下载开源代码注意:

先查看有多少分支

git clone https://...  只会克隆 默认分支

 克隆所有分支,用下面命令

git clone --mirror   https://...

或者: 

git pull --all  https://...

github加速:

github在国内访问是非常慢的,有时候克隆个项目都失败,git clone加速方法

1. 在执行git clone之前,执行命令:

git config --global url."https://ghproxy.com/".insteadOf https://


向git全局环境增加一个替换设置,它会自动给github的链接前面增加ghproxy.com的加速链接,从而实现快速克隆项目的目标。
第二种方式配置文件法(推荐)
在 ~/.git /config 中增加如下配置即可加速,git对Github的访问

……前面的七七八八内容不用管[url "https://ghproxy.com/https://github.com/"]insteadOf = https://github.com/

(13条消息) 【git】大文件git clone不下来问题_git大文件拉不下来_xll_bit的博客-CSDN博客

Git简介 - 廖雪峰的官方网站 (liaoxuefeng.com)

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

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

相关文章

如何训练ChatGPT模型

原来的文章介绍了如何在笔记本上搭建ChatGPT,下面简单介绍如何训练ChatGPT模型。 本文介绍使用Python和PyTorch训练ChatGPT模型的方式。 1.安装所需的Python库:PyTorch,transformers,numpy,pandas等 !pip install torch transformers numpy pandas2.导入必要的库和模块…

状态机实现N位按键消抖

状态机实现N位按键消抖 1、原理 利用状态机实现按键的消抖&#xff0c;具体的原理可参考 (50条消息) 基于FPGA的按键消抖_fpga 按键消抖_辣子鸡味的橘子的博客-CSDN博客 状态机简介&#xff1a; 状态机分类可以主要分为两类&#xff1a;moore和mealy 根据三段式状态机最后…

分布式文件存储与数据缓存 Redis高可用分布式实践(上)

一、Reids概述 1.1 为什么要使用NoSQL 单机Mysql的美好年代 在90年代&#xff0c;一个网站的访问量一般都不大&#xff0c;用单个数据库完全可以轻松应付。在那个时候&#xff0c;更多的都是静态网页&#xff0c;动态交互类型的网站不多。 遇到问题&#xff1a; 随着用户数的…

内网隧道代理技术(十四)之 Earthworm的使用(一级代理)

Earthworm的使用(一级代理) ew 全称是EarchWorm,是一套轻量便携且功能强大的网络穿透工具,基于标准C开发,具有socks5代理、端口转发和端口映射三大功能,可在复杂网络环境下完成网络穿透,且支持全平台(Windows/Linux/Mac)。该工具能够以“正向”、“反向”、“多级级联”…

第九十七回 自定义评分条

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了"网络综合示例"相关的内容&#xff0c;本章回中将介绍如何 自定义评分条.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在本章回中介绍的评分条就是包含多个星星形状的评分条&#xff0…

安防监控视频汇聚EasyCVR修改录像计划等待时间较长,是什么原因?

安防监控视频EasyCVR视频融合汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、云存储、回放与检…

如何入门python爬虫

对于初学者,想要入门python爬虫需要注意什么,如何快速入门呢? 首先需要明白四点: 熟悉python编程了解HTML了解网络爬虫的基本原理学习使用python爬虫的一些库与框架python编程 如果你不懂python,那么需要先学习python这门非常easy的语言(相对其它语言而言)。 编程语言…

Go语言中使用kafka

1.Windows环境下安装zookeeper和kafka Windows环境下安装zookeeper和kafka 2.运行zookeeper 3.运行kaka 4.生产者 import ("encoding/json""github.com/Shopify/sarama""strconv" )type Product struct {Id intName stringTitle string…

推荐用于学习RN原生模块开发的开源库—react-native-ble-manager

如题RN的原生模块/Native Modules的开发是一项很重要的技能&#xff0c;但RN官网的示例又比较简单&#xff0c;然后最近我接触与使用、还有阅读了react-native-ble-manager的部份源码&#xff0c;发现里边完全包含了一个Native Modules所涉及的知识点/技术点&#xff0c;故特推…

Kibana+Prometheus+node_exporter 监控告警部署

下载好三个软件包 一、prometheus安装部署 1、解压 linxxubuntu:~/module$ tar -xvf prometheus-2.45.0-rc.0.linux-amd64.tar.gz 2、修改配置文件的IP地址 # my global config global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is ever…

一个月学通Python(二十九):Python获取网络资源及解析HTML页面(爬虫)

专栏介绍 结合自身经验和内部资料总结的Python教程,每天3-5章,最短1个月就能全方位的完成Python的学习并进行实战开发,学完了定能成为大佬!加油吧!卷起来! 全部文章请访问专栏:《Python全栈教程(0基础)》 文章目录 专栏介绍用Python获取网络数据requests库编写爬虫代…

【论文阅读】利用道路目标特征的多期车载激光点云配准

目录 引 言1 道路场景点云特征2 配准方法2.1 配准基元获取2.2 特征点提取2.3 两期道路场景车载点云的配准 2.3.1 基于特征点的4PCS 粗配准 3 实验与分析4 结论5 参考文献 摘 要 针对车载移动测量系统获取的城市道路点云场景巨大、目标复杂多样&#xff0c;多期道路场景重访车载…

【并发专题】操作系统模型及三级缓存架构

目录 课程内容一、冯诺依曼计算机模型详解1.计算机五大核心组成部分2.CPU内部结构3.CPU缓存结构4.CPU读取存储器数据过程5.CPU为何要有高速缓存 学习总结 课程内容 一、冯诺依曼计算机模型详解 现代计算机模型是基于-冯诺依曼计算机模型 计算机在运行时&#xff0c;先从内存中…

二、SQL-6.DCL-2).权限控制

*是数据库和表的通配符&#xff0c;出现在数据库位置上表示所有数据库&#xff0c;出现在表名位置上&#xff0c;表示所有表 %是主机名的通配符&#xff0c;表示所有主机。 e.g.所有数据库&#xff08;*&#xff09;的所有表&#xff08;*&#xff09;的所有权限&#xff08;a…

jeecgboot新建moudle,但是访问404,需要在open moudle setting 里面设置

jeecgboot新建moudle&#xff0c;但是访问404&#xff0c;需要在open moudle setting 里面设置 首先需要确定以下3个pom.xml 最最外层的pom.xml 最最外层的pom.xml <modules><module>jeecg-boot-base-core</module><module>jeecg-module-demo</m…

IDEA将本地项目上传到码云

一、创建本地仓库并关联 用IDEA打开项目&#xff0c;在菜单栏点击vcs->create git repository创建本地仓库&#xff0c; 选择当前项目所在的文件夹当作仓库目录。 二、将项目提交本地仓库 项目名右键就会出现“GIT”这个选项->Add->Commit Directory, 先将项目add…

CVE——通用漏洞披露

Common Vulnerabilities & Exposures Common Vulnerabilities & Exposures官网 上面是通用漏洞披露官网&#xff0c;最近由于某个加密签名算法ssh-ed 25519版本过低导致被扫出有安全风险&#xff0c;找到CVE官网对应的漏洞说明。 2022年11月18日 发布的漏洞 CVE-2022…

真正帮你实现—MapReduce统计WordCount词频,并将统计结果按出现次数降序排列

项目整体介绍 对类似WordCount案例的词频统计&#xff0c;并将统计结果按出现次数降序排列。 网上有很多帖子&#xff0c;均用的相似方案&#xff0c;重写某某方法然后。。。运行起来可能会报这样那样的错误&#xff0c;这里实现了一种解决方案&#xff0c;分享出来供大家参考…

深度学习中简易FC和CNN搭建

TensorFlow是由谷歌开发的PyTorch是由Facebook人工智能研究院&#xff08;Facebook AI Research&#xff09;开发的 Torch和cuda版本的对应&#xff0c;手动安装较好 全连接FC(Batch*Num) 搭建建议网络&#xff1a; from torch import nnclass Mnist_NN(nn.Module):def __i…

力扣 968. 监控二叉树

题目来源&#xff1a;https://leetcode.cn/problems/binary-tree-cameras/description/ C题解&#xff08;来源代码随想录&#xff09;&#xff1a;节点可以分为3个状态&#xff1a;0无覆盖&#xff1b;1有摄像头&#xff1b;2有覆盖。 要想放的摄像头最少&#xff0c;应当叶子…