我的git笔记

2023-09-20 12:59:22

git加速

https://ghproxy.com/https://github.com/cudpp/cudpp.git
git clone https://ghproxy.com/https://github.com/triple-Mu/YOLOv8-TensorRT.git

安装git

# 删除当前git
sudo apt-get remove --purge git

# 重新安装git
sudo apt-get update
sudo apt-get install git

配置git

git config --global user.name "cqy"
git config --global user.email "你的邮箱"

fork并拉取公司代码remote

# 先fork公司仓库,这步是必须的,不能够直接推送到公司的框架里面,都是先推送到自己的分支里面
# 自己的分支里面有代码了,然后后面审核过了通过网页合并,合并就不用指令了

# 给文件夹加权限 (选做)  xxxx是我文件夹的名字, 如果git clone出现权限问题了大概率就是这个问题了
sudo chmod -R 777 xxxx

# 克隆对应的项目
git clone xxxx

# remote add upstream 这里的ssh:xxxxxxxx是公司的仓库,这样就可以拉到
git remote add upstream ssh:xxxxxxxx

# 检查一下
git remote -v

# 拉上游
git pull upstream main

# 查看可以拉的分支 这个操作可以查看公司有多少个分支是我们可以拉的
git branch -a

创建一个新的分支,这里我起了一个叫做deepstream的分支

# 这个命令等价于两个操作:git branch new-feature(创建分支)和 git checkout new-feature(切换到新分支)
git checkout -b deepstream

# 这里可以git branch看一下是不是在所属的分支
git branch

# 建议先在git remove -v 检查一下再进行推送,推送的时候选自己的orin就没有问题了
git push origin deepstream

使用 vsocde source control来管理自己的更改的代码

# 做出更改

# 点 + 号确认更改

# 填写commit信息

# push

在第二个设备上用自己的fork

这里还是很重要的,因为做AI的人很多时候训练一个设备部署一个设备,甚至测试多个不同设备部署的时候一定会用到的,这里前面部分操作跟第一个设备一样

# clone自己的fork, 这里要确定怎么真正fork到自己创建的分支
git clone xxxxxxxxxxxxx

# remote add upstream 这里的ssh:xxxxxxxx是公司的仓库,这样就可以拉到
git remote add upstream ssh:xxxxxxxx

# 拉上游
git pull upstream main

# 检查跟第一个一不一样,看看这里能不能拉到最新的
git remote -v 

# 查看可以拉的分支 这个操作可以查看公司有多少个分支是我们可以拉的
# 当看到和第一个设备上一样的你可以
git branch -a


在第二个设备使用第一个设备的分支,修改并且在第一个设备更新

# 这里的deepstream是我第一个设备弄得分支
git checkout deepstream

# 检查
git branch

# 这里修改, 如果想在第一个设备使用到最新的
git pull origin deepstream

重命名分支

# 先看自己在哪个分支上
git branch

# 假设切换到 main 分支
git checkout main

# 重命名分支
git branch -m deepstream new-branch-name

# 切换新分支
git checkout new-branch-name

# 推送这个新分支去origin, 不push的话到不了的
git push origin new-branch-name

# 检查
git branch -a

# 如果其他的设备上git branch -a没有看到这个操作建议这边使用下面这个指令
# 用于在更新远程跟踪分支信息时删除本地已经不存在的远程分支
git remote update origin --prune

在代码上建立远程连接

我一般的工作的流程是先在Github上建一个新的仓库, 然后用ssh git clone下来, 但是有的时候有可能因为忘记过滤的问题,所以这里第一步是删除.git, 也就是之前的连接问题, 如果没有这个需求删掉这一步
如果你想清除 Git 历史记录并从头开始(注意这样做将丢失所有历史记录,这通常是一个非常激进的方法),你可以按照以下步骤进行:

  1. 首先确保备份你的所有工作!

  2. 删除 .git 目录以删除所有 Git 历史记录和配置信息:

    rm -rf .git
    
  3. 现在初始化一个新的 Git 仓库:

    git init
    
  4. 确保你的 .gitignore 文件正确配置以忽略 .onnx 文件。

  5. 现在添加所有文件和目录到新的 Git 仓库:

    git add .
    
  6. 提交你的第一个提交:

    git commit -m "Initial commit"
    
  7. 如果你之前已经在远程服务器上有一个仓库,你将需要将其重命名或删除它,然后创建一个新的空仓库来推送你的新历史。 假设你正在使用 GitHub,你可以在 GitHub 网站上进行这些操作。

  8. 然后,将新的远程仓库添加为一个远程,并推送你的新历史:

    git remote add origin <your-repo-url>
    git push -u origin main -f
    

注意,使用 -f 选项(代表“force”)将强制推送到远程仓库,这意味着它将删除远程仓库上现有的所有历史记录和数据。所以再次提醒,请确保你确实想这样做,并且已经备份了所有必要的数据和历史记录。

有的时候会出现push不了的现象

src refspec main does not match any

这个可能是本地仓库中没有找到名为 “main” 的分支, 是"master"分支

# 检查分支
git branch

# 如果分支是master, 改名
git branch -m master main

# 再次Push
git push -u origin main -f
更多推荐

Android 图片加载框架Glide源码详解

我们看Glide的源码从Glide类入手,使用的时候我们先调用的with方法,源码中with有3个多载的方法:下图翻译过来就是activity用FragmentActivityApplicationcontext用with(Context)还有一个with(View)的殊途同归,最后都是调用了getRetriever(

[激光原理与应用-68]:如何消除50Hz工频干扰和差分信号应对工频干扰

目录一、什么工频干扰1.1什么工频干扰1.2工频干扰的幅度1.3工频干扰如何进入设备1.4工频干扰的负面影响二、如何消除工频干扰2.1要消除工频干扰,可以考虑以下方法:2.2要具体消除工频干扰,可以采取以下措施2.3使用差分信号消除工频干扰:三、单端信号传输和差分信号传输比较一、什么工频干扰1.1什么工频干扰50Hz的

【网络技术】计算机网络介绍

写在前面计算机网络是指将多台计算机连接起来,使它们能够相互通信和共享资源的系统。它是现代计算机科学中的重要分支之一,为全球范围内的信息交流和数据传输提供了基础。本文将介绍计算机网络的基础概念、体系结构、协议、常见问题等的知识。一、基本介绍1.计算机网络是什么?计算机网络是由若干台计算机和与之相连的通信设备组成的系统,这

记录使用Docker Compose 部署《XAPI项目》遇道的问题及解决方案

《XAPI项目》:GitHub仓库(勿打🚫小破站一个)这篇文章,主要内容是记录使用DockerCompose部署《XAPI项目》遇道的问题及解决方案目录📚本地MySQL数据如何导入到容器内的MySQL中❎解决报错:docker-xapi-backend-1|q.GetUserInfoByUserAccounterr

KMP算法

1.典型例题28.找出字符串中第一个匹配项的下标-力扣(LeetCode)题干:给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbut

Spring WebFlux使用未加前缀的双通配符模式绕过安全性CVE-2023-34034

文章目录0.前言漏洞漏洞介绍描述1.参考文档2.基础介绍3.解决方案3.1.升级版本4.漏洞修复源码分析5.漏洞利用示例0.前言背景:公司项目扫描到WebFlux中使用"**"作为模式会导致SpringSecurity和SpringWebFlux之间CVE-2023-34034漏洞漏洞高|2023年7月18日|CVE-

LVS+Keepalived群集

LVS+Keepalived群集一、Keepalived实现原理1、原理2、Keepalived体系主要模块及其作用3、Keepalived工具介绍4、合格的集群应该具备的特性二、Keepalived的部署三、LVS+Keepalived高可用集群部署1.部署共享存储2.配置负载调度器(主、备相同)3.配置节点服务器4

2023年亚马逊云科技中国峰会记录

前言有幸抽到了亚马逊云科技中国峰会的门票,恰好又是在上海举行的,并且看预告有很多热点内容,所以就参加了。27日一早就赶到了世博中心,此时已经排起了长队。看来与会者还是蛮多的。整体分为以下几个环节:一.上午的主题演讲二.下午的互动活动三.下午的各种分会场论坛一.主题演讲-面向未来进行构建首个环节,是主题演讲,演讲者是亚马

springboot2整合nacos云服务,配置基本类型和json类型

最近公司要搭建一个配置中心,由于不想自己运维,便选择了云服务,定的是阿里云的nacos服务,即​​​​​​​https://mse.console.aliyun.com/。这里记录一下在springboot2项目中,使用云nacos来做一些基本配置String、int等,和配置json数据映射到java对象中。1云na

Android Kotlin 基础详解

1,基础语法1.1可变变量与不可变变量可以多次赋值的变量是可变变量,用关键字var表示:var<标识符>:<类型>=<初始化值>注意,在kotlin中成员变量不会赋默认值,不像java一样,必须手动添加默认值。varname:String="yuanzhen"name="yuanzhen1"varage:Int=20a

27、Flink 的SQL之SELECT (窗口函数)介绍及详细示例(3)

Flink系列文章1、Flink部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接13、Flink的tableapi与sql的基本概念、通用api介绍及入门示例14、Flink的tableapi与sql之数据类型:内置数据类型以及它们的属性15、Flink

热文推荐