关于git:fatal-refusing-to-merge-unrelated-histories

<article class=“article fmt article-content”><h2>起因</h2><p><code>git</code>认为你视图<code>merge</code>的两份数据的<code>commit</code>历史是齐全不想关的,所以回绝操作。</p><h2>解法</h2><p>明确通知<code>git</code>,你所操作的数据是相干的。</p><pre><code class=“bash”>git pull –allow-unrelated-histories</code></pre><h2>其它</h2><h3>后续如何防止这个谬误?</h3><p>防止对一个曾经有本人<code>commit</code>历史的本地仓库,试图执行<code>git pull</code>拉取一个领有不同<code>commit</code>历史的近程仓库。</p></article>

March 5, 2024 · 1 min · jiezi

关于git:git合并

主分支(master):首先 git pull 和 近程分支master同步 本地分支 和 近程分支保持一致 1.1 比方近程当初有 dev 分支 本地还没有dev这个分支,首先应该跟近程分支保持一致。通过: git checkout -b dev // 本地创立并切换到dev分支1.2 本地分支的内容 和 近程分支的内容 同步 git pull // 同步代码可能会报错,错误信息:There is no tracking information for the current branch. // 没有以后分支的跟踪信息。Please specify which branch you want to merge with. //请指定要与哪个分支合并See git-pull(1) for details. // 详细信息请参见git-pull(1)。If you wish to set tracking information for this branch you can do so with: // 如果你想为这个分支设置跟踪信息,你能够这样做:// 应用这个命令 git branch --set-upstream-to=origin/<branch> hhb // 图文: ...

March 3, 2024 · 1 min · jiezi

关于git:GitCommon-Git-Command-Line-Operation

SourceCommon Git Command Line Operation | Chanvin's Blog (chanvinxiao.com) This article record the specific usage method of some common git command line operation 本文记录了一些罕用 git 命令行操作的具体应用办法 git clone拉取git我的项目到本地。 git clone REPOSITORY_URL Clone repository, and use the name of repository as local folder name 克隆版本库,并应用版本库名称作为本地文件夹名称 git clone REPOSITORY_URL FOLDER Clone repository, and use FOLDER as local folder name 克隆存储库,并应用 FOLDER 作为本地文件夹名称 git fetchgit fetch origin Update all the remote branch ...

March 1, 2024 · 5 min · jiezi

关于git:git-restore极简使用记录

用处撤销批改。 应用示例工作区(Changes) > 暂存区(Staged Chagnes) > 本地仓库 > 近程仓库用法1把文件从工作区Changes下抛弃。 git restore .// orgit restore filename执行git restore .后,Changes被清空并暗藏了。 用法2把文件从暂存区Staged Changes下退回到Changes。 git restore --staged .// orgit restore --staged filename执行git restore --staged .后,原来在Staged Changes下的文件被退回到Changes下了。 注意事项暂无。

March 1, 2024 · 1 min · jiezi

关于git:LF-will-be-replaced-by-CRLF

前置常识LF代表linux格调的行尾字符\nCRLF代表windows格调的行尾字符\r\n 个别的代码托管服务器都是linux零碎,所以咱们的指标是这样:无论你的开发人员是什么零碎,以什么换行结尾,到了代码托管零碎,对立以linux为规范,也就是LF结尾。 如何读取以后git config core.autocrlf的设置?git config core.autocrlf可能的值?truefalseinputtrue提交时:将CRLF转换为LF拉取时:将LF转换为CRLF false提交时:什么都不做拉取时:什么都不做 input提交时:将CRLF转换为LF拉取时:什么都不做 windows零碎该怎么做?windows上的换行是以CRLF结尾的,这条命令很符合。 git config core.autocrlf truelinux零碎该怎么做?linux上的换行是以LF结尾的,这条命令很符合。 git config core.autocrlf input我的项目中有windows和linux的开发人员该怎么做?让windows用户设置 git config core.autocrlf true让linux用户设置 git config core.autocrlf input然而,上述的操作不太可控,比方我的项目外面成员有很多,我不可能挨个去叮咛并查看他们的设置。有没有更好的方法呢?有,借助.gitattributes 在我的项目的根目录下增加一个.gitattributes文件,内容如下: // .gitattributes* text eol=lf下面的配置,意味着无论在什么操作系统上,当你检出文件时,所有的行结束符都会被转换为LF。这样能够确保在不同操作系统之间进行合作时,文件的行结束符始终保持统一。 疑难疑难1:git rm --cached -r .git reset --hard这不是重置.gitignore用的吗?这里须要吗? 疑难2:增加.gitattributes后须要执行这个操作吗? git add --renormalize .

February 27, 2024 · 1 min · jiezi

关于git:git本地仓库的使用方法

形容git是一个工具,用于治理代码版本的工具。 仓库是被git治理的文件夹 本地仓库:本地计算机硬盘上的文件夹被git治理1.将文件变成仓库 git init被存储的代码分为3个: 工作区,暂存区,历史/版本区2.查看仓库状态 git status3.将工作区的代码放在暂存区 git add .git add 文件夹名称或文件名称4.将暂存区代码拿回工作区 git reset .git reset 文件夹名称或文件名称5.将暂存区代码放在历史/版本区 git commit -m "形容"6.查看所有分支 git branch7.创立分支 git branch 新的分支名 //创立分支的时候,默认会将master分支的代码给新的分支上复制一份8.切换以后分支 git checkout 分支名9.创立并切换到新分支 git checkout -b 新的分支名10.合并分支 git merge 被合并的分支11.删除分支 git branch -D 分支名12.查看所有版本 git log 13.切换版本 git reset --hard HEAD^ # 切换到上一个版本,^1个示意回退1个版本;2个^示意回退两个版本git reset --hard 版本号 # 切换到指定的版本,版本号只有用前7位就ok找版本号,能够从.git暗藏文件夹中找:**.git/logs/HEAD**14.设置提交的用户名和邮箱 git config --global user.name '用户名'git config --global user.email '邮箱'

February 25, 2024 · 1 min · jiezi

关于git:git连接远程仓库的方式

将本地仓库推送到近程仓库TODO: 待补充先决条件 1 将本地仓库与近程仓库关联 git remote add origin git@github.com:gaoqiang19514/react-ssr-app.git2 批改本地分支名称 // 将本地以后所在的分支名强制批改为main// -m 批改// -M 强制批改git branch -M main3 设置本地分支main跟踪近程分支main git branch -u origin main4 推送本地内容到近程 git push将本地仓库与近程A连贯批改为与B连贯1 查看本地仓库以后连贯的近程仓库(无副作用,只是为了确认以后连贯的近程仓库为A) git remote -v2 移除本地仓库的以后近程连贯 git remote remove origin3 设置新的近程仓库地址 git remote add origin https://github.com/user/repoB.git

February 21, 2024 · 1 min · jiezi

关于git:Git-教学

Git 教学 根本常用命令第一次应用 git 的时候,须要设置用户信息和用户邮箱,用于辨识提交者身份。git config --global user.name <git用户名>git config --global user.email <邮箱地址>git config --list # 查看以后用户信息基本操作git init # 把以后的目录变成能够用 git 进行版本控制的 git 仓库,生成暗藏 .git 文件。git clone <repository-url> # 从近程库中克隆到本地git status # 查看所有文件状态 加参数 `-s` 显示已批改的git add xxx # 把 xxx 文件增加到暂存区去。git add –A # git add --all的缩写,增加全副到暂存区git add –u # 把文件的删除和批改增加到暂存区(不包含新增)git add . # 监控工作区的状态树,应用它会把工作时的所有变动提交到暂存区git commit -m "message" # 从暂存区提交到本地仓库git commit -a -m "message" # 相当于省略 git add,然而无奈提交新增的文件git push origin master # Git 会把 master 分支推送到近程库对应的近程分支上git clean # 删除非治理对象的文件"commit message" 内容尽量标准!当某一次提交后,忽然想起漏提交了文件,或不小心提交了不称心的代码时,能够应用 git commit --amend -m "message" 指令。它能够在不减少一个新的 commit-id 的状况下将新批改的代码追加到前一次的 commit-id 中。提交之后 message 也将被本次的 message 笼罩,所以还须要再次增加上次的 message。pushgit push origin namegit push –u origin mastergit push origin --delete name # 删除近程分支把以后 master分支推送到近程库; -u 示意记住分支和地址,下次应用 git push 即可。remotegit remote add origin <repository-url> # 关联一个近程库 仓库名叫 origingit remote # 查看近程库的信息git remote –v # 查看近程库的详细信息clonegit clone <repository-url> # 从近程库中克隆git clone -b branchName <repository-url> # 克隆指定分支pullgit pull从近程仓库拉下来到本地库而后合并相当于 git fetch + git merge,pull 时,Git 默认会把合并也提交到远端,需设置敞开。个别 push 前先拉去最新版本,防止代码抵触,如果有抵触须要解决了抵触能力提交。fetchgit fetch # 从近程库抓下最新版本,然而不合并。fetch 是从近程库到本地库,然而未在工作区,须要 git merge。mergegit merge dev # 在以后的分支上合并dev分支分支合并也是在本地实现,新的分支只有在合并后才容许被删除。如果分支合并是呈现抵触须要解决了抵触能力合并,应用 git status 查看抵触文件。branch/checkoutgit branch # 查看以后所有的分支,后面有 "*" 的为目前所在的分支。git branch name # 创立分支git branch –r # 看近程所有分支git branch –a # 查看本地近程分支git branch –d name # 删除分支git push origin --delete name # 删除近程分支git checkout name # 切换分支git checkout –b name # 创立并切换到 name 分支上git clone -b name url # 克隆指定分支代码文件git push name # 提交到指定分支# 合并分支(主分支操作)git checkout mastergit merge <commit> or <branch_name>git push!> git checkout -- file 相当于勾销对文档的批改,将最新的本地版本库的本文件复制笼罩它,比拟危险! ...

September 28, 2023 · 4 min · jiezi

关于git:你的代码提交友好吗

Git 是目前世界上最先进的分布式版本控制系统,而针对Git代码提交,咱们个别对于记录形容怎么操作的呢?当我是个初入行的码农时,我心愿你管我怎么提交,个别就几个字,我性能实现即可,例如: git commit -m "调整批改"当我开始变为资深码农,并且开始治理整个我的项目的代码品质以及标准时,看着年轻人提交的代码,你这都是个啥,啥叫调整批改。正如咱们看着本人当年写的代码,充斥狐疑,这居然是我写的? 玩笑归玩笑,规范化的提交真是一个好习惯,在工作中一份清晰简介标准的 Commit Message 能让后续代码审查、信息查找、版本回退都更加高效牢靠。 那么,快捷工具来了,commitizen/cz-cli。 Commit Message规范规范蕴含Header,Body,Footer三个局部. <type>(<scope>): <subject>// ...<body>// ...<footer>其中,Header 是必须的,Body 和 Footer 非必须。 HeaderHeader 局部只有一行,包含三个字段:type(必须)、scope(可选)、subject(必须)type:用于阐明类型。可分以下几种类型scope:用于阐明影响的范畴,比方数据层、管制层、视图层等等。subject:主题,简短形容。一行类型形容feat新性能fix修复bugdocs仅蕴含文档的批改style款式及格式化变动,不影响代码逻辑。比方革除多余空白,删除分号等refactor重构,既不新增性能,也不波及批改bug的代码改变perf进步性能的批改test增加或批改测试代码build构建工具或内部依赖包的批改。比方更新依赖包等ci继续化集成配置文件或脚本批改chore杂项。其它不批改源码与测试代码的批改revert撤销某次提交Body 对 subject 更具体的形容。 Footer 次要是对于issue的关联。 装置官网意思验证了Node.js 12,14,16版本的Node,而我在18上无任何问题。 在本例中,咱们将设置存储库以应用 AngularJS 的提交音讯约定,也称为 traditional-changelog。还有其余适配器,例如cz-customizable。 首先,确保全局装置 Commitizen CLI 工具:<!----> npm install commitizen -g接下来,在我的项目中通过输出以下命令初始化以应用cz-conventional-changelog适配器:<!----> # npmcommitizen init cz-conventional-changelog --save-dev --save-exact# yarncommitizen init cz-conventional-changelog --yarn --dev --exact# pnpmcommitizen init cz-conventional-changelog --pnpm --save-dev --save-exact**请留神:**如果要在曾经配置过的我的项目外面笼罩装置,则能够利用强制参数--force。还要理解其它详细信息,只需运行 。commitizen help 下面的命令都干了什么呢: 装置了cz-conventional-changelog适配器模块将下载配置保留到了package.json将适配器配置也写入了package.json<!----> ... "config": { "commitizen": { "path": "cz-conventional-changelog" } } ...

September 23, 2023 · 1 min · jiezi

关于git:简单明了的Git命令总结

git init用于创立新的 Git 仓库的命令。当你想要开始跟踪一个新我的项目或将一个现有我的项目转换为 Git 仓库时,能够应用这个命令。 它会在当前目录下生成一个 .git 子目录,在其中写入 Git 的配置和我的项目的快照。这个目录蕴含了 Git 仓库的所有配置和版本历史信息。不要手动批改或删除 .git 目录,因为它是 Git 仓库的外围。# 创立新仓库$ git initgit init 通常用于创立本地仓库,但在克隆近程仓库时,Git 会主动执行 git init 并创立一个本地仓库的正本。初始化仓库后,你能够配置 Git,包含设置用户名和电子邮件地址,以及定义 .gitignore 文件来疏忽不须要跟踪的文件。

September 19, 2023 · 1 min · jiezi

关于git:如何设置git命令缩写

前言起因是,在看某个视频的时候发现他人的git命令是ga、gp这样的。好奇心驱使我去查了一下怎么做到的。尽管个别都在vscode中借助插件进行git操作,但某些状况下还是须要敲命令的,比方某个我的项目须要打包后放到后端我的项目里部署,总不能只是为了部署就常开一个vscode窗口吧。而且git缩写的配置还比较简单,所以还是有必要设置一下的。 .gitconfig配置简写命令# ~/.gitconfig[alias] s = status ps = push配置之后,能够用一下指令应用。 git s注:这种是git的性能。 .bash_profile配置# ~/.bash_profilealias gp='git pull'alias gps='git push'配置之后,能够用一下指令应用 gp注:这是linux的性能,配置之后每次关上git bash都会执行这个脚本。最初,贴一下我的配置。 alias gst='git status'alias gpl='git pull'alias ga='git add .'alias gc='git commit'alias gps='git push'

September 7, 2023 · 1 min · jiezi

关于git:重要变更-Hugging-Face-Hub-的-Git-操作不再支持使用密码验证

在 Hugging Face,咱们始终致力于晋升服务安全性,因而,咱们将对通过 Git 与 Hugging Face Hub 交互时的认证形式进行更改。从 2023 年 10 月 1 日 开始,咱们将不再承受明码作为命令行 Git 操作的认证形式。咱们举荐应用更平安的认证办法,例如用集体拜访令牌替换明码或应用 SSH 密钥。 背景近几个月来,咱们曾经施行了各种平安加强性能,包含登录揭示和 Git 中对 SSH 密钥的反对,不过,用户依然能够应用用户名和明码进行 Git 操作的认证。 为了进一步提高安全性,咱们当初转向基于令牌或 SSH 密钥的认证。与传统的明码认证相比,基于令牌和 SSH 密钥的认证有多个长处,包含独特、可撤销和随机个性,这些都加强了安全性和管制。 立刻需采取的口头如果你以后应用 HF 账户明码进行 Git 认证,请在 2023 年 10 月 1 日 之前切换到应用集体拜访令牌或 SSH 密钥。 切换到集体拜访令牌你须要为你的账户生成一个拜访令牌;你能够依照上面链接中提到的办法来生成一个拜访令牌:https://hf.co/docs/hub/security-tokens#user-access-tokens 生成拜访令牌后,你能够应用以下命令更新你的 Git 仓库: $: git remote set-url origin https://<user_name>:<token>@huggingface.co/<user_name>/<repo_name>$: git pull origin或者,如果你克隆了一个新的仓库,当你的 Git 凭证管理器要求你提供认证凭证时,你能够间接输出令牌来替代密码。 切换到 SSH 密钥依照上面的指南链接,生成 SSH 密钥并将其增加到你的账户:https://hf.co/docs/hub/security-git-ssh 而后,你能够应用以下命令更新你的 Git 仓库: ...

August 31, 2023 · 1 min · jiezi

关于git:部分克隆-git-仓库

背景很多仓库因为有很多内容,极为宏大,导致克隆操作将会消耗大量的工夫。所以,咱们能够采纳局部克隆的形式,只克隆咱们须要批改的目录。 办法git clone --sparse --filter=blob:none --depth=1 <仓库 URL>在仓库根目录下:git sparse-checkout add <所须要批改的目录>之后的操作方法与齐全克隆的办法一样。 参见DefinitelyTyped/README.zh-Hans.mdGit - git-sparse-checkout Documentation头图来自 Unsplash 上的 Yancy Min。

August 30, 2023 · 1 min · jiezi

关于git:什么是企业管理软件-Customer-Support-领域的-ORT

在企业管理软件的 Customer Support 畛域,ORT 是 Operational Response Time 的缩写,它指的是从接管到客户问题到解决问题所须要的工夫。这个指标对于评估和改良客户服务的效率和成果至关重要。 首先,咱们要分明 Operational Response Time (ORT) 是一个掂量客户服务品质和效率的要害指标。它涵盖了从接管到用户的问题或申请,到问题被彻底解决的全过程所需的工夫。这个工夫包含:问题的记录、调配、解决、解决和验证等阶段所破费的工夫。 ORT 的重要意义次要体现在以下几个方面: 客户满意度:对于客户来说,他们最关怀的是他们的问题可能在多快的工夫内失去解决。如果一个企业的 ORT 短,那么他们就能更快地解决客户的问题,从而进步客户的满意度。服务效率:ORT 是掂量客户服务团队工作效率的一个重要指标。如果 ORT 长,那么阐明客户服务团队的工作效率低,须要改良。反之,如果 ORT 短,那么阐明客户服务团队的工作效率高。业务优化:通过剖析 ORT 数据,企业能够找出影响客户服务效率的瓶颈和问题,从而进行改良和优化。例如,如果发现某一阶段的 ORT 特地长,那么就须要对这一阶段进行深入分析和改良。举例来说,假如一个企业的客户反对团队在接到客户的问题后,须要破费 24 小时能力解决问题。这个 ORT 显然是偏长的。如果该企业可能通过改良工作流程、进步员工技能、引入新的技术等形式,将 ORT 升高到 8 小时,那么他们就能在同样的工夫内解决更多的客户问题,从而进步客户满意度和服务效率。 同时,如果该企业通过数据分析发现,问题的记录和调配阶段所破费的工夫占据了 ORT 的大部分,那么他们就须要对这两个阶段进行改良。例如,他们能够引入自动化工具来自动记录和调配问题,或者对员工进行培训,进步他们的工作效率。 总的来说,ORT 是一个十分重要的指标,能够帮忙企业理解和改良他们的客户服务。通过升高 ORT,企业不仅能够进步他们的服务效率,还能够进步客户的满意度,从而进步他们的竞争力。

August 22, 2023 · 1 min · jiezi

关于git:一文快速掌握git操作

一文疾速把握git操作前言这个是看黑马的ajax入门中的git内容,本人做的一些笔记。举荐再看完后,进行练习:Learn Git Branching这个是github上热门的一个开源我的项目,专门练习git操作的一个网站。除此之外,能够拜访我的集体博客去查看git更加深刻的钻研等:个人主页 | 小uの学习笔记 (guoyaxue.top)git就是一个收费开源的,分布式的代码版本控制系统,帮忙开发团队保护代码。作用就是记录代码内容,切换代码版本,多人开发时搞高效的合并代码的一个开源软件。首先就是进行用户信息的配置这里须要配置的是用户名和邮箱别离是用git config --global user.name "xiaou"以及git config --global user.email "xxx@xxx.com"这个就是只用配置一次就能够的。之后用git config --list就能够看到本人配置的一些货色了仓库这个是用来记录文件状态内容的中央,存储着批改的历史记录。创立的办法有俩种从本地文件夹转换为git仓库:git init从其余服务器上克隆git仓库之后就失去了一个空白的.git的文件夹,这个就是一个仓库git的三个区域工作区:理论开发时操作的文件夹缓存区:保留之前的筹备区域版本库:提交并保留缓存区的内容,产生一个版本快照大略的流程就是这样。这里波及到了三个命令其中git ls-files能够查看暂存区内的文件之后进行git commit -m进行提交,呈现上面的提醒,就算是提交胜利了。文件状态有两个状态未跟踪:新文件,未被Git治理过已跟踪:Git曾经晓得和治理的文件所以说,git的一个根本应用流程那就是,批改文件,暂存,提交保留记录,如此重复同时,咱们能够通过git status -s来查看文件状态。暂存区的应用他能够临时存储,能够长期复原代码内容,与版本库解耦。他的另外一个作用,就是当你须要齐全确定笼罩时应用。这个时候用到的就是git restore 指标文件包含从暂存区移除文件就是git rm --cached回退版本也就是把某次提交复原到工作区/缓存区查看提交记录的代码:git log --oneline之后咱们的回退命令git reset --soft 版本号(其余文件未跟踪)这个也叫保留模式git reset --hard 版本号这个叫做笼罩模式属于间接笼罩到工作区和暂存区git reset --mixed 版本号等价于git reset这个就是笼罩暂存区,保留工作区。咱们用一个图来阐明这几个关系的区别个别应用hard的形式是比拟多的如果说回退之后,咱们再用git log --oneline的话是没有方法看到后续的版本号的这个时候咱们就须要应用git reflog --oneline来查看咱们所有的操作日志删除文件步骤:手动删除工作区文件暂存变更/手动删除缓存区文件造成变更提交保留也就是间接应用git add .疏忽文件.gitignore 文件能够让git彻底疏忽跟踪指定文件例如零碎或软件主动生成的文件编译产生的后果文件运行时生成的日志文件,缓存文件,临时文件等涉密文件,明码,秘钥等文件分支实质上就是指向提交节点的可变指针,默认名字是master留神:HEAD指针影响工作区/暂存区的代码状态也就是说HEAD所指向的,就是用到的分支场景利用:开发新需要/修复bug,保障主线代码随时可用,多人协同开发提高效率。创立分支命令git branch 分支名切换分支git checkout 分支名查看所有分支git branch 合并与删除切回到要合并的分支上:git checkout master合并其余分支过去:git merge 分支名删除合并后的分支指针git branch -d 分支名合并与提交这个咱们只须要理解一下就能够了。就是因为咱们的原来的分支产生了新的提交记录。流程和后面的是一样的。须要留神的是,提交的记录的程序是依照产生的先后顺序,而非提交的先后顺序合并抵触这个字面上来说就很好了解。咱们来举个例子基于master新建一个publish分支,批改html文件的title标签,并提交一次切换到master,也在批改内容页面html文件的title标签,并且提交一次抵触:把publish分支合并到master回来也就是说 不同分支中,对同一个文件的同一部分批改,git无奈洁净的合并,产生合并抵触。也就是有这个谬误在vscode中,有这样的提醒常用命令 Git近程仓库托管在互联网中的你的我的项目的版本库作用:保留版本库的历史记录,多人合作创立:公司本人服务器/第三方托管平台(gitee,gitlab,github)黑马这里介绍的是gitee这个我感觉命令的作用很小。因为个别的开发工具都是能够用的,齐全不须要命令。所以这里就不做具体的介绍。

August 20, 2023 · 1 min · jiezi

关于git:github多个仓库的归并聚拢问题

如这个问题形容的一样, 场景是这样的,我本地有以下我的项目:a类我的项目:a1、a2、a3、a4;b类我的项目:b1、b2、b3、b4;c类我的项目:c1、c2、c3、c4;当初我想把这三类我的项目都传到github,上传有个几个目标 不便日后在线查看代码,根本只看不写不便看到每个类都有哪些项目前期可能会拉代码下来看commit信息另外,因为仓库比拟多,想上传的省事点,不想一一我的项目上传。在尝试了一些方法: 把a1、a2、a3、a4间接放在目录a下做成一个git仓库上传,发现在github不能间接查看具体> 我的项目,是一个链接的模式,点击之后没有反馈sub module, sourcetree的办法都不能满足最终的解决办法是 创立大文件夹,归拢我的项目以a类我的项目为例,新建一个文件夹a,而后把工程放入文件夹a,像上面这样 a/ a1/ a2/ a3/ a4/给我的项目的.git文件改名咱们给a1、a2、a3、a4这些我的项目仓库里的.git文件换个名字,改成git。默认状况.git文件夹是不显示的,能够在命令行改。 mv .git git咱们之所以这么做,是因为:a1自身是一个仓库,咱们把文件夹a做成一个仓库的话,推到远端之后就会呈现a1目录打不开的状况,所以这里咱们须要解决下这些我的项目仓库。因为git是通过.git目录里的文件来记录仓库的信息的。咱们既要保留这些信息,然而还想他不是个仓库,那么咱们只有给.git改个名字就行了,比方改成git目录,这样上传的时候a1就不是个仓库了(是一个一般的文件夹),当咱们要看a1代码的时候把他拉下来,把git目录改回.git,a1就又是一个仓库了,能够查看commit信息。这样对a1、a2、a3、a4都做这样的操作就解决好了。 初始化目录a,提交把目录a做成一个仓库,提交到远端就ok了。 其余状况如果你的a1、a2、a3、a4仓库都曾经提交到远端了,只是想有个归拢入口的话,那么你能够用github的收藏夹性能。操作如下: 咱们新建一个收藏夹star本人须要归拢的仓库,并且抉择放入的收藏夹点击对应的收藏夹就能够看到本人归拢的仓库这样相当于咱们用收藏夹创立了一个分类,代替了原来的文件夹性能。只不过这个计划有一个毛病,就是这个收藏夹是所有人可见的(只是收藏夹所有人可见,公有的仓库还是看不到的),所以在文件夹起名以及增加形容的时候须要注意。

August 16, 2023 · 1 min · jiezi

关于git:FastGithubgithub加速神器解决github打不开用户头像无法加载releases无法上传下载等问题

FastGithub:github减速神器,解决github打不开、用户头像无奈加载、releases无奈上传下载、git-clone、git-pull、git-push失败等问题。github减速神器,解决github打不开、用户头像无奈加载、releases无奈上传下载、git-clone、git-pull、git-push失败等问题。 之前尝试过手动批改host文件来解决网站的拜访问题 以及更换网络但还是有时候无奈如愿的拜访GitHub 相干阐明: fastgithub不具备“翻墙”性能,也没有相干的打算fastgithub不反对Windows7等已被发行方进行反对的操作系统,并且也不会被动提供反对fastgithub不能为您的游戏减速fastgithub没有被动在github之外的任何渠道公布1. 工作原理从公共dns服务器拿到github的大量ip数据,检测哪些ip可用,哪些ip访问速度最佳,而后编写一个本地版的dns服务,当要解析github相干时,返回这个最佳ip。 批改本机的 DNS 服务指向 FastGithub 本身解析匹配的域名为 FastGithub 本身的 IP申请平安 DNS 服务 (dnscrypt-proxy) 获取相应域名的 IP抉择最优的 IP 进行 SSH 或 HTTPS 反向代理2 部署形式2.1 windows-x64桌面win下应用最不便,解压后间接双击运行FastGithub.UI.exe即可,自带图形界面。 双击运行FastGithub.UI.exe解压下载的zip包, 将文件夹放到适合地位,找到FastGithub.UI.exe, 双击执行即可 2.2 windows-x64服务1.在应用GitHub前须要关上并保障Fast GitHub在运行状态 2.在装置实现之后能够间接点开fastgithub的执行文件就能够运行程序,顺利连贯到Github。 如果不能失常关上.exe的执行文件的话还是应用命令去启动 fastgithub.exe start // 以windows服务装置并启动fastgithub.exe stop // 以windows服务卸载并删除2.3 linux-x64终端x64版是针对PC应用的,2.0.6版开始反对采纳64位arm cpu的单片机,如树莓派,jetson nano等。解压缩后,进入目录运行已编译好的可执行文件fastgithub sudo ./fastgithub设置零碎主动代理为http://127.0.0.1:38457,或手动代理http/https为127.0.0.1:384572.4 linux-x64服务sudo ./fastgithub start // 以systemd服务装置并启动sudo ./fastgithub stop // 以systemd服务卸载并删除设置零碎主动代理为http://127.0.0.1:38457,或手动代理http/https为127.0.0.1:38457ubuntu零碎只能辨认crt格局的证书,而目前的代码里只有cer格局。其实他们都是纯文本格式,只是后缀的区别,能够间接重命名应用。 $ sudo cp cacert/fastgithub.cer /usr/local/share/ca-certificates/fastgithub.crt$ sudo update-ca-certificates2.5 macOS-x64双击运行fastgithub装置cacert/fastgithub.cer并设置信赖设置零碎主动代理为http://127.0.0.1:38457,或手动代理http/https为127.0.0.1:38457具体配置详情2.6 docker-compose一键部署筹备好docker 18.09, docker-compose.在源码目录下,有一个docker-compose.yaml 文件,专用于在理论我的项目中,长期应用github.com源码,而做的demo配置。依据本人的须要更新docker-compose.yaml中的sample和build镜像即可实现拉github.com源码减速,并基于源码做后续的操作。3. 软件性能提供域名的污浊IP解析;提供IP测速并抉择最快的IP;提供域名的tls连贯自定义配置;google的CDN资源替换,解决大量国外网站无奈加载js和css的问题;4 证书验证4.1 gitgit操作提醒SSL certificate problem须要敞开git的证书验证:git config --global http.sslverify false ...

July 4, 2023 · 1 min · jiezi

关于git:6月API安全漏洞报告

为了让大家的API更加平安,致力于守护数字世界每一次网络调用,小阑给大家整顿了6月份的一些API安全漏洞报告,心愿大家查漏补缺及时修复本人API可能呈现的破绽。 No.1 MinIO未受权信息泄露破绽破绽详情:MinIO是一个开源的对象存储服务,它提供了云存储性能,可用于存储和治理大量数据。然而,MinIO在未正确配置和受权时可能存在信息泄露破绽(CVE-2023-28432)。破绽危害:未受权信息泄露破绽指的是MinIO实例没有正确的访问控制设置,使得未经受权的用户可能拜访和下载存储在MinIO中的敏感数据。攻击者能够利用未受权拜访权限获取存储在MinIO中的敏感数据,例如个人身份信息、企业机密文件等。如果MinIO实例受到未受权拜访并导致数据泄露,用户可能失去对该服务的信赖,这可能对业务经营和名誉造成侵害。影响范畴:在集群模式中,MinIO的某些接口会因为信息处理不当而返回会返回所有环境变量,包含MINIO_SECRET_KEY和MINIO_ROOT_PASSWORD,导致敏感信息泄露。应用分布式部署的所有用户都会受到影响。小阑修复倡议• 正确配置访问控制:在部署和配置MinIO实例时,确保正确设置拜访权限和受权策略。应用最小权限准则,只给予用户必要的拜访权限。• 启用身份验证:确保所有用户都须要进行身份验证能力拜访MinIO实例。强制应用平安的认证办法,例如用户名和明码、拜访密钥等。• 加密数据:采纳加密措施对存储在MinIO中的敏感数据进行加密,即便数据被盗取,也无奈解密和应用。• 定期审查权限和拜访日志:定期审查MinIO实例的访问控制设置和拜访日志,及时发现异常流动并采取相应措施。• 更新降级:定期降级MinIO到最新版本,以取得修复破绽和平安强化的补丁。 No.2 Joomla Rest API未受权拜访破绽破绽详情:Joomla Rest API 未受权拜访破绽(CVE-2023-23752),是因为Joomla对Web服务端点的访问控制存在缺点,鉴权存在谬误,导致未经身份认证的攻击者可结构歹意申请未受权拜访RestAPI 接口,造成敏感信息透露,获取Joomla数据库相干配置信息。破绽危害:此破绽危害等级高。Joomla是一款风行的开源内容管理系统(CMS),其反对应用Rest API与内部应用程序进行交互。然而,Joomla Rest API 未受权拜访破绽是指在Joomla零碎中呈现的安全漏洞,使得攻击者能够通过未受权的形式拜访和利用Rest API接口。攻击者能够通过未受权拜访Rest API接口获取敏感信息,如用户凭据、配置文件、数据库信息等。这可能导致个人隐私泄露、数据泄露等问题。影响范畴:4.0.0 <= Joomla <= 4.2.7。攻击者能够通过利用未受权的拜访权限,在服务器上执行恶意代码。这可能导致服务器被入侵,攻击者能够管制服务器并执行任意操作,包含篡改网站内容、植入后门等。小阑修复倡议• 及时更新:确保Joomla及其相干组件和插件放弃最新版本,以便修复已知的破绽。• 访问控制:限度Rest API接口的拜访权限,只容许通过身份验证和受权的用户或应用程序拜访。能够通过配置访问控制列表(ACL)、应用API密钥进行身份验证等形式来实现。• 强化认证机制:采纳更强的身份认证机制,如多因素身份验证(MFA)或令牌-based身份验证,以减少攻击者获取非法凭据的难度。• 日志监控:开启日志性能并监控Rest API接口的拜访状况,及时发现异常行为,进行相应的响应和考察。• 平安审计:定期对Joomla零碎和其相干组件进行平安审计,查看是否存在其余安全漏洞,并及时修复。 No.3 Argo CD部署平台中的三个独立的API破绽破绽详情:Argo CD是Kubernetes中最受欢迎和增长最快的GitOps工具。当遵循GitOps部署模式时,Argo CD能够轻松定义一组应用程序,它们在存储库中具备所需的状态以及它们应该部署的地位。部署后,Argo CD会继续监控状态,甚至能够捕获配置漂移。一篇由Security Boulevard提供的破绽文章,涵盖了Argo CD部署平台中的三个独立的API破绽。破绽危害:第一个破绽(CVE-2023-22736)是一个容许绕过受权的重大破绽。Argo CD软件中存在一个破绽,会使得歹意用户在没有失去受权的状况下,在零碎容许范畴外部署应用程序。第二个破绽 (CVE-2023-22482)是由不当受权导致的重大问题。因为Argo CD在验证令牌时没有查看受众申明,导致攻击者能够应用有效的令牌来获取权限。如果您应用的OIDC提供商同时为其余用户提供服务,那么您的零碎将承受来自这些用户的令牌,并依据用户组权限授予对应的权限,这就十分危险了。第三个破绽(CVE-2023-25163)是Argo CD软件中的一个问题,会导致存储库拜访凭据泄露。这个破绽的重大水平中等,会在未能正确清理输入时,泄露敏感信息。影响范畴:第一个破绽(CVE-2023-22736)只影响启用了“任何命名空间中的应用程序”性能的用户,并且从2.5.0版本开始就存在。然而,当初Argo CD公布了2.5.8和2.6.0-rc5补丁来修复这个问题。如果您应用的是Argo CD,请及时降级到最新版本以爱护您的系统安全。第二个破绽 (CVE-2023-22482)影响所有从v1.8.2开始的Argo CD版本。为了修复这个问题,Argo CD公布了版本2.6.0-rc5、2.5.8、2.4.20和2.3.14中的补丁,引入了一个新的性能——“容许受众”,容许用户指定他们想要容许的受众。如果您正在应用Argo CD,请尽快更新到最新版本并配置好“容许受众”,以爱护您的零碎。第三个破绽(CVE-2023-25163)影响所有从v2.6.0-rc1开始的Argo CD版本。如果您正在应用受影响的版本,倡议尽快降级到更新的版本来修复这个破绽,以爱护您的系统安全。小阑倡议• 这些破绽再次强调了API安全性的重要性,也显示出公司必须高度关注爱护其API。随着API在古代应用程序中的宽泛应用,攻击者越来越频繁地利用API破绽来入侵零碎。因而,爱护API曾经成为任何组织安全策略中的至关重要的一部分,须要采取安全措施和最佳实际来确保数据和零碎的平安。只有这样,能力保障企业在数字化时代取得最高程度的平安保障。

June 30, 2023 · 1 min · jiezi

关于git:如何使用-Terraform-和-Git-分支有效管理多环境

作者|Sumeet Ninawe翻译|Seal软件链接|https://spacelift.io/blog/terraform-environments  通常咱们应用 Terraform 将咱们的基础设施定义为代码,而后用 Terraform CLI 在咱们抉择的云平台中创立制订的基础设施组件。从外表上看,整个过程看起来仿佛不须要破费太多精力。然而当咱们深入研究将其用于实在场景时,很快就会遇到无关治理子生产和生产环境的问题。  在这篇文章中,咱们将重点关注如何应用 Terraform Workspace 和 Git 分支来无效治理多个环境。  多环境基础设施上面列出了应用 IaC 治理多个环境的基础设施的冀望和要求: 能够应用雷同的 IaC 配置来治理生产和非生产环境。某些非生产环境,如开发、QA、测试版或 UAT 应该与生产的雷同和放大版本并永恒存在。团队成员可能创立、治理和销毁与生产雷同的长期环境。所有环境并不是在同一个云帐户或订阅中创立的。 这里的关键点在于对所有环境中的基础设施应用雷同的 Terraform 配置模板。  Terraform WorkspaceTerraform 提供了一个工作区性能,应用该性能能够应用雷同的配置创立和治理多个雷同的、按比例放大的环境。以这种形式创立的多个环境是齐全隔离的,不会以任何形式互相烦扰。这是咱们须要的要害性能。一起看看如何利用这个性能来满足咱们的要求。  Terraform Workspace 不同于 Terraform Cloud Workspace。在 Terraform Cloud 中,工作空间相似于一个“我的项目”,对应于 Terraform 配置存储库。除了存储和治理状态信息外,还治理变量、凭证、历史跟踪等,以反对端到端的 Terraform Cloud CI/CD 工作流。  用于解决工作区的 Terraform CLI 命令下表示意 Terraform 工作区命令的根本用法。每个命令都遵循如下简略格局:terraform workspace <command>   上面的 CLI 输入显示了管理工作区的示例。简而言之,咱们查看以后抉择的工作空间——默认,而后创立一个名为 beta 的新工作空间,列出所有工作空间,并删除 beta 工作空间。  % terraform workspace showdefault% terraform workspace new betaCreated and switched to workspace "beta"!You're now on a new, empty workspace. Workspaces isolate their state,so if you run "terraform plan" Terraform will not see any existing statefor this configuration.% terraform workspace list default* beta% terraform workspace select defaultSwitched to workspace "default".% terraform workspace delete betaReleasing state lock. This may take a few moments...Deleted workspace "beta"!% terraform workspace list* default  ...

June 29, 2023 · 2 min · jiezi

关于git:用git上传项目到GitHub或者码云全过程

用git上传我的项目到GitHub或者码云全过程 会生成一个暗藏文件夹".git"。这是一个不可删文件,因为暂存区和历史区还有一些其余的信息都在这里,删掉就不是一个残缺的仓库了指令:$ git init 将本地仓库和近程仓库链接指令:$ git remote add origin +“地址” (origin是轻易起的名字,能够随便批改,大部分都是用这个) 3.用于查看以后仓库和近程仓库的关联 指令:$ git remote –v 4.把最新的文件上传到暂存区 指令:$ git add ./或者git add –A 5.把暂存区的内容提交到本地版本库 指令:$ git commit -m '形容信息本次提交的形容' 6.创立分支 指令:$ git branch -m +分支名 7.查看本地提交过的所有版本,以及从近程仓库拉下来的版本 指令:$ git log –all 把本地仓库以后所有分支内容提交指令:$ git push或者git push origin +分支名称 这样就实现了上传 小补充克隆文件: git clone <文件名> 删除git暂存区文件: git rm --cache 文件名 查看所有分支: git branch 查看电脑B本地仓库的分支 git branch -r 查看近程仓库的分支 git branch -a 查看本地和近程仓库的所有分支 查看暂存区所有文件: ...

June 27, 2023 · 1 min · jiezi

关于git:GIT保存记录原理之commit对象

GIT 中提交对象十分的重要,咱们通过它记录代码提交过程、进行文件保留、回退等操作,那么它是怎么帮忙咱们记录这些信息的呢?其实就是都保留在我的项目根目录的 .git 文件夹中。 新建空我的项目 gitDemo 应用 git init 初始化,在文件夹根目录下会生成 .git 文件夹,文件夹中会生成以下内容,其中 objects 中保留着提交相干的数据。gitDemo├── .git/│   ├── hooks/│   ├── info/│   ├── objects/│       ├── info/│       └── pack/│   ├── refs/│   ├── config│   ├── description│   └── HEAD 此时在我的项目下新建 index.js 文件,减少一行代码 const num = 1;并执行 git add 操作,为不便察看,目录构造只保留 .git 文件夹的 objects 中的内容。 gitDemo├── .git/│   ├── objects/│     ├── 03/│     │   └── 62286e257cbf1422d31c588d8d912cabc5de09│     ├── info/│     └── pack/└─── index.js ...

June 24, 2023 · 2 min · jiezi

关于git:如何配置-SSH-管理多个-Git-仓库和以及多个-Github-账号

1. Why SSH ?在应用 github 时或者免密登录到近程服务器时,总要应用到 SSH 这个工具来创立密钥并进行连贯,那什么是 SSH 呢,咱们先来看一下它的简略定义: SSH是一种加密协议,全称为Secure Shell,用于平安地近程登录到服务器或其余近程设施上执行命令或传输文件。它提供了一种平安的加密通信机制,使得近程登录和文件传输等操作不会被歹意攻击者窃取或篡改,确保了数据的保密性和完整性。SSH采纳公钥密码学技术,可能无效地避免被中间人攻打或网络窃听。举例来说,如果咱们要应用 Github 这种 git 代码托管平台的话,首先本地要生成一个 SSH 私钥(如id_rsa) 和 公钥(如id_rsa.pub),而后将 公钥 填写到 Github 的 SSH Key 治理面板中。当咱们向 Github 推送代码的时候会首先发动身份校验。此时,本地会将用户信息通过 SSH 私钥 执行『签名』操作。当签名信息发送到 Github 的时候,Github 就会应用用户保留在平台上的 公钥 来校验签名信息,应用 私钥 签名信息只能由对应的 公钥 进行校验,因而如果 Github 对签名校验通过,就能够认证以后的用户对代码仓库领有响应的操作权限,之后就能够让用户提交的代码入库了,整体流程如下图: 对于公钥和私钥,是『非对称加密』相干的内容,公钥通常用于 内容加密 或 认证签名,是能够在服务器与客户端之间进行流传的;而私钥是用来 解密公钥加密的内容 或 对内容进行签名 用的综上,SSH 采纳非对称加密的形式来实现客户端与服务器端的认证并建设通信连贯,因而能够被用于客户端与 git 平台之间的认证,以及近程服务器之间的免密认证。 2. 配置单个 Git 账户首先,咱们来简略温习一下如何配置单个 git 账户。 对于单个 git 账户的场景非常简单,如果咱们是一个萌新开发者,想要往 Github 上上传我的项目(这里咱们仅探讨 SSH 协定的形式),那么首先咱们要在本地装置 OpenSSH 以及 git。 ...

June 21, 2023 · 4 min · jiezi

关于git:GIT-浅析原理篇

此篇文章次要是讲讲 一些 git 操作产生的时候 , .git 文件如何变动,git 背地产生了什么。磨刀不误砍柴工嘛!算是一篇视频观后笔记(文末取视频地址)根底概念Git 是一个代码版本管控的工具,是一个内容寻址文件系统,即简略的键值对数据库。 Git 的一些根底基础知识 版本库:git在本地开拓的一个存储空间,个别在 .git 文件里。工作区(workspace): 就是编辑器外面的代码,平时开发间接操作的就是工作区。索引区/暂存区(index/stage):临时寄存文件的中央,git add 后也就将工作区代码放到了暂存区(缓冲区)。本地仓库(Repository):git commit 后就是将暂存区的代码放到本地仓库。近程仓库(Remote):线上代码寄存的中央,如 github/gitee。他们之间的关系是这样子的: 本文伊始,须要通晓一些git 相干 根底命令, 如果对根底linux的命令不相熟请查看 这里git cat-file -t <sha1-hash> # 查看文件类型 commit 取前四位即可git cat-file -p <sha1-hash> # 查看文件内容cat .git/refs/heads/master # 查看master指向的文件git ls-files # 查看索引区文件, 也就是index的内容git ls-files -s #查看 索引/暂存 区的文件内容初始化本文环境 后面是win10 => cmder,前面是mac => iterm2+zsh先在 porn....呸,github 先创立一个清新的近程仓库 举荐三种形式 往空仓库“填充”代码。 咱们先别顺着 Git 这小子,先把它克隆下来, 看看 .git 文件 D:\assets git clone https://github.com/OFreshman/gitTest.gitCloning into 'gitTest'...warning: You appear to have cloned an empty repository. rm -rf .git/*.sample # 为了看起来洁净,删除了sample文件 D:\assets\gitTest (main -> origin) tree .git /f # 以树形构造递归查看所有文件夹即文件夹,D:\ASSETS\GITTEST\.GIT│ config # 仓库本地配置文件│ description # 形容 用于GitWeb│ HEAD # 工作区目录指向的分支├─hooks # 寄存一些shell脚本,能够设置特定的git命令后触发相应的脚本├─info # 附加信息 │ exclude # git文件排除规定。相似 .gitnore├─objects # 所有文件存储对象│ ├─info # 对象存储的附加信息,存储着打包后的文件名│ └─pack # git 压缩对象└─refs # 夹存储着分支和标签的援用 ├─heads # 分支对应对象 └─tags # 标签各文件详情补充.git/infoinfo/exclude,初始化时只有这个文件,用于排除提交规定,与 .gitignore 性能相似。区别在于.gitignore 这个文件自身会提交到版本库中去,用来保留的是公共须要排除的文件;而info/exclude 设置的则是你本人本地须要排除的文件,他不会影响到其他人,也不会提交到版本库中去。 ...

May 30, 2023 · 5 min · jiezi

关于git:GIT-日常命令查阅表

最近公司代码管控比拟乱,有天就利用分支进行了代码梳理,过后就遇到一些困惑,抽空就把git 再学了一下。 以前我是用git命令的,然而敲命令对我来说还是有点麻烦(次要是git 功力不够),看到有共事用git桌面版(毕竟git官网的亲儿子)我也就跟着用了,不得不说真香,不过也有些限度,。当然当初很多IDE也都反对Git,并且也很弱小,比方微软的 VSCode 对吧,举荐大家应用起来。 这篇文章拖了很久,最近整顿根底时索性就把这篇欠缺了。 几个概念: 版本库:git在本地开拓的一个存储空间,个别在 .git 文件里。工作区(workspace): 就是编辑器外面的代码,咱们平时开发间接操作的就是工作区。暂存区(index/stage):临时寄存文件的中央,git add 后也就将工作区代码放到了暂存区(缓冲区)。本地仓库(Repository):git commit 后就是将暂存区的代码放到本地仓库。近程仓库(Remote):线上代码寄存的中央,如 github/gitee。 材料均来源于网络,文章次要是本人的的一些操作实际和了解。行文如果 有误还心愿评论指出,独特交换四种状态 先装置个 Git (Git - Downloads) git --version # 看看Git 以后版本git update-git-for-windows # windows 更新菜鸟教程有个 (图解 Git | 菜鸟教程) 感觉对某些命令的形容还挺直观的。 当然最好的文档就是官网文档 Git - Reference,有啥纳闷就往这看就行~~ 常用命令\<variable> 尖括号内示意变量。 [optional] 中括号内示意可选 根底命令公钥生成 ssh-keygen -t rsa -C 'your-emial-dress' # 生成公钥cd ~/.ssh # 切换该目录cat id_rsa.pub # 查看公钥内容而后在 同性交友网站github settings --> ssh 公钥处粘贴即可。 git help <instruction> 查看某条命令初始化(clone/init)git clone <repo-url> # 克隆近程仓库到本地(新建一个与线上仓库同名的文件夹),仅克隆默认分支的代码,git clone <repo-url> <directory> # 克隆近程仓库到本地,指定本地文件夹名 directorygit clone -b <branch> <ropo-url> # 克隆近程仓库(的指定分支branch)到本地git init # 本地新建/初始化(如果存在)一个git仓库,根目录创立 .git 文件,即版本库git init --bare # 生成裸库,没有 .git 文件只有一些历史版本的记录文件,让源代码与版本库拆散git init 命令创立一个空的Git存储库 - 实质上是一个 .git 目录,其中蕴含 objects、refs/heads、refs/tags和模板文件的子目录。还将创立一个援用master分支 HEAD 的初始 HEAD 文件 ...

May 30, 2023 · 8 min · jiezi

关于git:将本地仓库和远程仓库连接起来

在本地工程下初始化(右键关上git bash)git init git add .git commit -m "这里是提交信息"查看以后关联的用户名和邮箱git config user.namegit config user.email更换以后关联的用户名和邮箱git config --global user.name []git config --global user.email []近程连贯github创立的仓库,并推送git remote add origin [仓库地址]git branch -m main git push -u origin maingit 默认创立的主分支是master,在github上的默认主分支是main,所以能够给主分支换成跟github上一样的 将本地分支关联到github的其余分支也能够这样git push -u origin main:master这条命令的含意是将本地的"main"分支推送到近程仓库的"master"分支,并将两个分支关联起来。

May 23, 2023 · 1 min · jiezi

关于git:合并分支遇到文件冲突ourstheirs-的具体指向

在应用 merge 或 rebase 对不同分支进行整合时,如果对同一个文件的同一个局部进行了不同的批改,就会遇到文件抵触。 git checkout 命令能够应用 --ours 和 --theirs 选项,这是一种无需合并的疾速形式,能够抉择留下一边的批改而抛弃掉另一边批改。 这里次要阐明在应用 git checkout --ours 或者 git checkout --theirs 时,--ours(--theirs) 的具体指向是什么。 事后假如 git 仓库有分支 dev,在快照 C1 处新建分支 fix;分支 fix 相继提交了 C2、C3 快照;分支 dev 提交了 C4 快照。 应用 merge 遇到抵触切换到 dev 分支。 应用 git merge 命令将分支 fix 合并到分支 dev,两条分支都对文件 file1 的同一个局部做了不同的批改;此时,会呈现合并抵触。 假如咱们须要保留 dev 分支上对 file1 的变更,放弃 fix 分支的变更,能够应用: git checkout --ours--ours,此时示意的是 dev 分支的变更。 假如咱们须要保留 fix 分支上对 file1 的变更,放弃 dev 分支的变更,能够应用: ...

May 17, 2023 · 1 min · jiezi

关于git:Git-代码分支管理-京东云技术团队

作者:京东科技 周新智 一、引言近日,IoT 研发团队退出了不少新同学,对 git 分支的命名和治理形式有些许的含糊,分支的命名标准以及治理形式对我的项目的版本公布至关重要,为了解决理论开发过程中版本公布时代码管理混乱、抵触等比拟头疼的问题,咱们将在文中论述如何更好的治理代码分支。 二、总览 从上图能够看到次要蕴含上面几个分支:• master: 主分支,也称为线上分支,次要用来版本公布。 • dev:日常开发分支,该分支失常保留了开发的最新代码。 • release:release 分支能够认为是 master 分支的测试版。比如说某个新增性能开发实现、线上问题紧急修复实现,那么就将 feature/hotfix 分支合并到 release 分支,到了公布日期就合并到 master 分支,进行版本公布。 • feature:具体的性能开发分支。 • hotfix:线上 bug 修复分支。 三、主分支主分支包含Master Branch、Release Branch、Dev Branch 三个分支: 1、Master Branch用来进行版本公布,也就是当火线上运行的代码分支 2、Release BranchRelease Branch 在我看来就是 Pre-Master。Release Branch 从 Master Branch 检出,最终会合并到Master Branch,合并后 Master Branch上就是能够公布的代码了。 所有新增性能的开发分支都是从 Dev Branch 检出作为本地分支,以 feature-性能名-姓名首字母简拼,当性能开发结束的时候,将 feature Branch 合并到 Dev Branch,在测试或预生产环境进行部署,测试通过后,再将 feature Branch 合并到 Release Branch。 如果呈现线上问题须要紧急修复,则从 Release Branch 检出作为本地分支,以 hotfix-性能名-姓名首字母简拼, 当问题修复结束的时候,将hotfix Branch合并到 Dev Branch,在测试环境进行部署,测试通过后,再将 hotfix Branch 合并到 Release Branch,在预发环境再次验证。 ...

May 17, 2023 · 1 min · jiezi

关于git:测试开发之源码篇码分支策略

专题目录

May 16, 2023 · 1 min · jiezi

关于git:测试开发之源码篇Git基本操作

理解软件开发的敌人都晓得,版本控制(Revision Control) 在开发的过程中,记录文件、目录、工程等我的项目内容的批改历史,不便在当前查看、更改或复原到以前的状态。 Git是一个开源的分布式版本控制系统,能够不便、无效地治理不同规模我的项目的代码版本。最后是由Linux创始人Linus Torvalds为了治理Linux内核代码而开发的。 分享次要分为2个局部。第1局部借助一个演示我的项目,旨在帮忙读者疾速把握Git的日常应用;第2局部给出Git常用命令的手册,不便大家在须要的时候检索应用,有趣味的读者能够将本文加到浏览器书签中。 Git几个概念。本地工作目录开发过程中,代码创作的工作目录 本地仓库Git作为分布式的版本管理系统,在工作电脑上,会为每个我的项目生成一个本地仓库。当咱们通过git commit提交代码时,实际上就是将更改从本地工作目录提交到了本地仓库。 近程仓库:在近程服务器上建设的仓库,例如Github、Gitlab上的仓库。当咱们应用git push推送代码时,代码就从本地仓库推到了近程仓库。 Git全局设置git config --global user.name "aaronchen2k"git config --global user.email "462826@qq.com"注:将用户名和明码替换成您本人的 克隆我的项目代码执行以下命令,克隆演示我的项目到当前目录; git clone https://gitee.com/ngtesting/ci_test_pytest.git进入目录ci_test_pytest,应用branch指令查看近程版本库的分支列表; git branch -r origin/dev origin/master应用branch指令查看本地已存在的分支,以后分支为后面有星号的; git branch dev * master代码批改提交新建一个名为test2.txt的文件,应用add指令增加文件到版本控制; git add test2.txt批改名为test.txt的文件内容;应用commit指令,提交批改; git commit -m "update files" [master 97903e8] update files 2 files changed, 1 insertion(+) create mode 100644 test.txt create mode 100644 test2.txt应用push指令,推送批改到近程; git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 16 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 301 bytes | 301.00 KiB/s, done. Total 4 (delta 1), reused 0 (delta 0), pack-reused 0 remote: Powered by GITEE.COM [GNK-6.4] To https://gitee.com/ngtesting/ci_test_pytest.git 6efcdee..97903e8 master -> master共享我的项目到Git仓库在Gitee网站注册一个账号后登录;进入新建仓库页面,创立一个新我的项目;关上命令行窗口,执行以下命令,新建一个开发我的项目; ...

May 15, 2023 · 1 min · jiezi

关于git:测试开发之源码篇Git常用命令整理

根本命令# 全局设置git config --global user.name "aaronchen2k"git config --global user.email "462826@qq.com"# 克隆代码git clone https://gitee.com/ngtesting/ci_test_pytest.git# 参看本地分支git branch # 查看近程分支 git branch -r # 增加文件到版本库git add test.txt# 提交文件到版本库git commit -m "update files"# 推送文件到近程仓库git push分支操作# 参看分支状态git branch -v# 创立分支git branch v1.0# 切换分支git checkout v1.0# 删除分支git branch --delete v1.0拉取近程代码# 从近程获取代码,并合并到本地工作目录git pull# 获取近程仓库变更到到本地仓库,不合并当代码到前工作目录git fetch近程仓库# 查看近程仓库git remote -v# 增加近程库git remote add github https://github.com/aaronchen2k/ci_test_git.git# 删除近程仓库git remote rm github# 推送到指定近程仓库git push github强制命令# 强制笼罩近程git push origin master --force# 强制笼罩本地git fetch --allgit reset --hard origin/maingit pull # 强制笼罩本地,单行git fetch --all; git reset --hard origin/main; git pull 专题目录

May 15, 2023 · 1 min · jiezi

关于git:git规范

分支main 主分支main 为主分支,也是用于部署生产环境的分支,确保main分支稳定性main 分支个别由develop以及hotfix分支合并,任何工夫都不能间接批改代码release 版本分支开发新版本时,以main为根底创立release分支分支命名: release/ 结尾的为版本分支, 命名规定: release/v1.0.0//1.切换到maingit checkout main //2. 拉取最新代码git pull// 3. 创立并切换到release分支git checkout -b release/v1.0.0 //开发1.0.0版本版本号v1.0.0软件版本号由三局部组成第一个为主版本号第二个为子版本号第三个为阶段版本号版本号定批改规定主版本号:当功能模块有较大的变动,比方减少多个模块或者整体架构发生变化。此版本号由我的项目决定是否批改。子版本号:当性能有肯定的减少或变动,比方减少了对权限管制、减少自定义视图等性能。此版本号由我的项目决定是否批改。阶段版本号:个别是 Bug 修复或是一些小的变动,要常常公布修订版,工夫距离不限,修复一个重大的bug即可公布一个修订版。此版本号由项目经理或负责人决定是否批改。多人开发release版本分支从在release分支的根底上创立新分支 //1.切换到release/v1.0.0的分支git checkout release/v1.0.0//2. 拉取最新代码git pull//3.创立并切换到release/v1.0.0分支下pyj成员的分支git checkout -b release/v1.0.0_pyj开发实现后,提交合并申请 hotfix 分支分支命名: hotfix/ 结尾的为修复分支,它的命名规定与 release 分支相似线上呈现紧急问题时,须要及时修复,以main分支为基线,创立hotfix分支,修复实现后,须要合并到main分支提交feat: 增加新个性fix: 修复bugdocs: 仅仅批改了文档style: 仅仅批改了空格、格局缩进、都好等等,不扭转代码逻辑refactor: 代码重构,没有加新性能或者修复bugperf: 减少代码进行性能测试test: 减少测试用例chore: 扭转构建流程、或者减少依赖库、工具等feat: 实现xxx性能fix: 批改xxx报错

May 12, 2023 · 1 min · jiezi

关于git:Git合并冲突的根本原因和解决方法

如果您当初正在参加一个团队我的项目,并获得了实质性的停顿。然而,当你筹备提交代码的时候,发现团队中的某个人也更改了同一个文件,并且先你一步提交了——您当初遇到了代码抵触问题。而且须要花工夫去解决本人的更改与他人的更改之间的矛盾。这被称为合并抵触,是让很多开发人员头疼的问题。 什么是合并抵触?当一个文件的版本曾经被提交,而这个版本比你用来批改的文件的版本要新时,就会产生合并抵触。 本篇文章将探讨什么是合并抵触,它们在Git中是如何产生的,以及如何通过一些简略的技巧来简化开发,从而避免出现合并抵触。 Git中的合并抵触Git是一款风行的开源版本控制工具。尽管它是开发人员的好抉择,但当团队想要合作和解决同一个文件的时候,用Git会很麻烦,因为它应用的是分布式模型,开发人员常常须要将整个储存库(git clone)签出到本地驱动器上,并长时间处于离线状态工作。 而后,当开发人员筹备提交更改(通过“git push”操作)时,他可能会发现对同一组代码的其余抵触更改曾经被提交/推送到了同一分支。如果您正在应用Git并且遇到合并抵触,以下解决合并抵触的办法能够参考。 如何解决Git中的合并抵触 依据Git合作解决方案,有不同的倡议门路来解决合并抵触。 如果您只是应用Git CLI工具,则须要将最新更改获取/拉取到本地克隆的存储库中,而后通过执行合并(或一系列合并)来解决抵触。Git自身将尝试执行内容的主动合并。只有更改不在给定文件的同一区域中,该主动合并就会胜利。当更改位于同一区域时,Git将在抵触文件中增加特殊字符标记,标记开发人员的本地更改与提交到近程存储库(您正在尝试提交更改的地位)的最新更改抵触的地位。 此时,您能够抉择删除本人的更改、删除别人的更改、保留两组更改或删除所有更改。决定当前,开发人员须要再将更改推送回近程存储库。 如何防止Git中合并抵触当初,您晓得如何在Git中解决合并抵触,但是否有办法能够帮忙您预防合并抵触,并防止这些额定的步骤呢? Perforce Helix Core应用了集中式模型,开发人员连贯到地方服务器,服务器晓得每个开发人员在各自的客户端中领有哪些文件。这种模型是否让每个开发人员都尽早并常常地提交各自的更改,从而打消会导致潜在合并抵触的许多因素。 Perforce Helix Core还提供文件锁定性能,可用于避免抵触更改的产生。这些文件锁定性能对于通常无奈合并的二进制文件来说特地有用。 应用流(Streams)进行分支和合并 Perforce Helix Core的分支机制被称为流。流简化了分支,并提供了一个内置的分支关系可视化映射。这种内置的可视化映射称为流图(Stream Graph),可在Helix可视化客户端(P4V)中应用。 当相干分支中存在更改时,流图会揭示用户,这些更改应该从父分支合并下来,或者被复制到父分支中。此范例激励“尽早合并,常常合并”的最佳实际,有助于防止微小的合并抵触。 当Perforce Helix Core中真的产生了合并抵触时,用户能够应用Helix Visual Client(P4V)或命令行(P4)轻松解决——解析对话框会疏导用户通过可用的选项实现合并。 借助Perforce Helix Core轻松防止合并抵触Perforce流只是Perforce Helix Core帮忙减速开发的泛滥性能之一。 Perforce Helix Core能够解决所有——成千上万的用户,数百万的事务和千兆字节的数据。随着您的团队和我的项目的倒退,Perforce Helix Core能够在寰球传送文件和反馈,而无需WAN期待。 Perforce Helix Core最多对五个用户收费。 文章起源:https://bit.ly/3LEDGc9

May 10, 2023 · 1 min · jiezi

关于git:eladmin代码贡献2w人star

https://github.com/elunez/eladmin/graphs/contributors id:itdzr 优化点将用户信息缓存,晋升同账户(利用场景:admin)的并发和同一用户屡次登录状况下的性能,无需每次登陆都查询数据库,首次查问利用future task(申请数据库作为task,future task作为缓存的value,uid为key)执行异步查问,后续的线程因为缓存key存在会期待首次的查问后果(get办法),缩小了数据库资源的耗费。初始登陆时,因为没有缓存,因为拜访数据库资源须要工夫,如果不必future,那么当第一个线程未返回后果时,那么缓存仍未有记录,则高并发下第二个线程仍会去拜访数据库资源。分布式缓存尽量用redis,数据量小的的用本地缓存。缓存选用,思考redis,concurrentHashmap也可,redis更优, 次要思维高并发状况下比拟耗费资源的计算能够作为future task。防止同时的反复计算。本场景更适宜计算场景,无状态的场景。concurrentHashmap能够定时革除。 代码 concurrentHashmap<uid/uname,Future<udto>> userDtoCache; Future<JwtUserDto> future=userDtoCache.get(uid); if ( future!=null) { try { jwtUserDto=future.get(); }catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } // 查看dataScope是否批改 List<Long> dataScopes = jwtUserDto.getDataScopes(); dataScopes.clear(); dataScopes.addAll(dataService.getDeptIds(jwtUserDto.getUser())); }else{ Callable<JwtUserDto> call=()->getJwtBySearchDB(username); FutureTask<JwtUserDto> ft=new FutureTask<>(call); future=userDtoCache.putIfAbsent(username,ft); if(future==null){ future=ft; executor.submit(ft); } try{ return future.get(); }catch(CancellationException e){ userDtoCache.remove(username); }catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } return jwtUserDto;putIfAbsent 如果传入key对应的value曾经存在,就返回存在的value,不进行替换。如果不存在,就增加key和value,返回null

May 9, 2023 · 1 min · jiezi

关于git:Git-前端门神githooks的使用

Unix 哲学 提供”尖锐“的小工具、其中每一把都意在把一件事件做好。 --《程序员修炼之道 - 从小工到专家》写在后面做过前端的同学对 Hook 这个货色应该很理解吧,后端也是有 Hook 这种概念的,比方 Java 的@PostConstruct,也是一种 Hook 的体现。简略来说,Hook 就是在执行某个事件之前或之后进行一些其余额定的操作。 举个栗子,张三当初要吃饭,那么吃饭就是一个事件,吃饭前和吃饭后就能够称为两个钩子。当初你想让张三在吃饭前洗下手,那么咱们就能够在吃饭前这个钩子这里,设置一个洗手的动作。张三在每次吃饭前,都会检查一下这个钩子,有什么要做的,都会照做。这样,就实现了咱们的需要。 Git 也是如此,在 Git 中也有许多的事件(commit、push 等等),每个事件也是对应了有不同的钩子的(如 commit 前,commit 后),那么咱们就能够在这些钩子这里配置一些本人须要执行的操作来实现各种各样的需要。 上面咱们看一下咱们在具体的我的项目中如何应用应用git的钩子。 git-hooks咱们回到我的项目的根目录下。运行 ls -a 命令 -a能够显示暗藏目录(目录名的第一位是.)。 咱们能够看到,存在一个".git"名称的文件夹。 事实上,在咱们我的项目中根目录下运行 git 命令时,git 会依据它来工作。 接来下咱们进入到这个文件夹,进一步查看它外部的内容。 cd .gitls -a咱们发现它外部还挺有料!不慌,咱们这节课仅仅只讲到其中的一个内容 —hooks。 能够看到,当前目录下存在一个 hooks 文件夹,顾名思义,这个文件夹提供了 git 命令相干的钩子。 持续往里看。 cd hooksls -aok,那咱们咱们能够看到有很多 git 命令相干的文件名。比方pre-commit.sample pre-push.sample。 回到正题,咱们冀望在 git 提交(commit)前,对咱们的代码进行检测,如果不能通过检测,就无奈提交咱们的代码。 那么自然而然的,这个动作的机会应该是pre commit,也就是 commit 之前。 那么当初,咱们查看一下 pre-commit.sample 的内容。 # cat命令能够查看一个文件的内容cat pre-commit.sampleOK,它返回了这样的内容,是一串 shell 正文。翻译过去大略意思是,这是个示例钩子,而后咱们看到了这一句话 # To enable this hook, rename this file to "pre-commit".意思是要启用这个钩子的话,咱们就把这个文件的后缀名去掉。 尽管这样对咱们本地来讲是可行的,但要留神,.git 文件夹的改变无奈同步到远端仓库。 所以咱们冀望将 git-hook 的执行权移交到里面来。 好的,咱们回到我的项目的根目录下,而后咱们新建一个文件夹,临时命名为.mygithooks 而后在此文件夹下,新增一个 git-hook 文件,命名为pre-commit,并写入以下内容: ...

May 8, 2023 · 1 min · jiezi

关于git:瓴羊Quick-BI联手跨越速运用科技力量撑起中国速度

 物流产业,是古代经济的重要组成。在数字经济的浪潮下,越来越多的物流企业正从传统的同质化低成本竞争转向差异化高质量竞争。除了一直晋升本身运力能力、覆盖范围、服务质量外,近年来,不少物流企业将眼光聚焦在了企业经营体系的数字化降级上,通过瓴羊Quick BI等商业智能工具的赋能实现全面“提速”,塑造时效、平安、服务等企业外围价值力。  逾越速运,就是这样一家聚焦B端客户,主打“限时速运”的物流企业。为了在“物流速度”方面继续晋升本人的市场竞争力,他们想到了通过构建企业BI零碎来撑持本人的“当日达、次日达、隔日达”等定制化产品,确保运输线路畅通、货物司机平安。 上线瓴羊Quick BI前,逾越速运的外部经营治理中须要大量手工数据报表,消耗了不少人力。引入瓴羊Quick BI后,逾越速运在一年多工夫里就上线了2000多张数据报表,有的报表不须要技术部门参加,业务人员就能自行创立。例如在疫情最重大的期间,逾越速运通过瓴羊Quick BI,从采集、剖析到最终出现,仅花了两天工夫就构建了员工感化数据的实时报表,使得整个公司在疫情期间业绩仍然保持稳定,而本来这样的报表需要可能须要十天半个月能力实现。 不仅在外部经营治理中施展巨大作用,瓴羊Quick BI还为逾越速运的数千名货运司机组长提供了无力的科技赋能。依靠瓴羊Quick BI的智能剖析能力,逾越速运在公司每一位司机组长的手机上实现了仪表板式的可视化数据展现:多少货物行将达到、何时须要派出等信息高深莫测。同时,对于可能存在的超时、积压等信息,也能通过监控告警性能主动向组长推送相干揭示,无力保障了公司物流业务的平安、有序。 在瓴羊Quick BI落地逾越速运的过程中咱们也能够看到,因为古代物流体系的复杂性,事实上没有任何一款BI产品能够100%贴合每个具体企业的生产治理需要,但因为瓴羊Quick BI具备高效的二次开发API能力,使得瓴羊Quick BI融入逾越速运的过程变得非常“顺滑”。 通过弱小的计算能力、“零代码开发”的易用性以及丰盛的可视化能力帮忙企业降本增效,瓴羊Quick BI在逾越速运的胜利利用,为数字技术与物流产业的交融提供了新的范式。

April 26, 2023 · 1 min · jiezi

关于git:Git推出大文件储存工具Git-LFS但它真的好用吗

Git LFS(全称为Git Large File Storage,Git大文件存储)被许多团队用来治理和存储大文件。本篇文章将解释Git LFS是什么,它的性能和应用场景,以及它到底是不是治理大文件的最佳版本控制工具。 什么是Git LFS(Git大文件存储)?Git LFS是一种开源的Git扩大,用于治理大文件和二进制文件,将它们存储在独自的 "LFS 存储库" 中, 从而让Git存储库放弃在一个可治理的规模。 现在,很多的我的项目都蕴含代码和二进制资产。将大型二进制文件存储在Git存储库中可能会成为Git用户的瓶颈。 Git LFS存储如何工作?Git大文件存储应用指针来援用文件,而不是将理论文件或二进制大对象(blobs,一种将二进制文件存储为一个实体的数据类型) 存储在Git存储库自身中。 因而,大文件/二进制大对象不会被间接写入Git存储库,而是被写入一个指针文件。文件/二进制大对象自身会被写入一个独自的服务器,称为LFS存储库。通过这种形式,能够对大文件进行版本控制,以及治理二进制大对象,同时开释Git存储库的空间。 我应该应用Git LFS吗?如果您须要在Git中治理大文件或二进制文件,那么能够思考应用Git LFS。(然而,如果您的团队中有美术人员和设计师,须要对他们的大型二进制艺术文件进行版本控制,那么您可能不心愿应用Git LFS。对于这一点,咱们将在下一节中具体探讨。) 应用Git LFS或其余代替计划的起因是,Git是一种分布式版本控制系统,每个开发人员在本地计算机上都有残缺的变更历史记录。对大型二进制文件进行更改会导致什么?每次更改文件并提交后,Git 存储库的规模都会依据文件的大小而减少。这意味着获取文件会破费很长时间,并且很难对这些二进制文件进行版本控制和合并。 因而,每当文件增长时,Git存储库也会增长,这会导致Git用户在检出和克隆存储库时呈现性能降落的状况。 Git LFS是为解决这些问题而创立的,但它本身也存在一些问题和限度。 Git LFS的问题Git LFS尽管无效,但许多应用它的团队发现其治理起来较为艰难。以下是思考寻找Git LFS代替计划的一些起因: 设置Git LFS十分耗时 要应用Git LFS,每个用户都必须在其服务器和工作站上装置它。这样做很耗时,对管理员来说也是一种累赘。而且一旦装置实现,对Git LFS的可见性和控制性都较低。 保护Git LFS须要额定的步骤 保护Git LFS须要额定的步骤,因为您必须为每个Git存储库(即每个Git我的项目)设置Git LFS。这意味着每个存储库都须要装置Git LFS,您还须要通知LFS要跟踪的文件类型,而后将跟踪信息增加到存储库中,以便在提交该类型的文件时,它将被搁置在LFS存储库中。对于还不太理解Git的用户来说,这颇具挑战性。 Git LFS不适用于美术团队 Git LFS对于软件开发人员来说是有帮忙的,因为它使克隆和分支更加容易。但对于大多数须要与美术人员或设计师合作的团队来说,出于以下几个要害起因,它不是一个好的解决方案: 它不与风行的美术和设计软件集成;非编码人员依然须要接受从Git LFS拉取其资源时的性能损失;它是一个基于命令行的工具,因而用户必须学习一些命令能力获取或提交资产。许多美术人员会在这方面遇到困难,或者他们基本不愿这么做。尽管有一些图形化的Git LFS工具,但游戏引擎和设计工具与Git的集成较差;作为基于命令行的工具,查找文件的正确版本也变得复杂,这使得美术人员难以迭代特定资产。因而,对于游戏开发或虚构制作团队来说,Git LFS并不是一个现实的解决方案。 上述问题会影响团队的绩效。因而,只管Git自身是收费的,但当您的团队须要更快、更具可扩展性的解决方案时,应用它的老本可能是低廉的。 Git LFS的代替计划Git LFS并不是在Git中治理大文件的惟一形式。代替计划包含其余开源或第三方修复程序,例如: git-annexgit-bigfilesgit-fatgit-mediagit-bigstoregit-sym这些选项依然存在与Git LFS雷同的问题:它们是基于命令行的工具,不与美术或设计工具集成,如果应用它们,您依然须要获取和发送文件(意味着依然须要期待),而且找到一个文件的最近版本很具挑战性。您须要一种更好的形式来治理大型文件和二进制文件。 存储大文件的最佳版本控制工具:Perforce Helix Core当初的我的项目比以往都大得多,其中蕴含许多的文件和混合资产。Git和Git LFS根本无法版本控制它们,但Perforce Helix Core能够。 Helix Core是来自Perforce的旗舰版本控制软件,是大型文件治理的最佳版本控制工具,起因如下: 二进制文件解决 Perforce Helix Core非常适合治理大型二进制文件。在Perforce Helix Core中,大文件存储是一种原生的能力,而不是附加组件。它让您可能将二进制文件与源代码一起存储。实际上,您的所有最大文件——二进制文件、源代码、艺术文件、视频文件、图像、库和构建产物等,都能够寄存在单个储存库中。将所有资产存储在一个储存库中能够让扩散的团队更快地口头。 ...

April 23, 2023 · 1 min · jiezi

关于git:瓴羊quickbi工具的妙用多场景多业务下的数据整合与分析

瓴羊Quick BI近日内推出了30天收费试用的流动,对于想要引入大数据分析工具的企业来说堪称是百年不遇的机会。想要收费体验瓴羊bi工具,只须要搜寻“瓴羊Quick BI”,进入瓴羊Quick BI官网,就能申请加入这个收费流动,体验瓴羊Quick BI的大数据处理能力了。在数字经济时代,人们经常用数据量、数据速度、数据类型、数据价值密度等维度来进行企业数据的剖析,而以瓴羊quickbi工具为代表的大数据工具,能够最大化实现企业数据的治理剖析和把控,帮忙企业更疾速地经营更加宏大、类型更加丰盛的数据量,给出价值更高的运算后果。除了更加宏大的数据运算能力之外,瓴羊quickbi工具同时还装备了本人创造的的多模式减速引擎——quickbi引擎,使得瓴羊quickbi的数据分析能力大幅度晋升,实现0.5秒内实现十亿级数据聚合剖析的成果,实现大量数据的整顿演绎,远远胜过了传统的数据分析工具,同时反对连通数据库,抽取减速、实时减速等多种多样的计算形式,能够依据行业属性和业务分类进行提供方便快捷的计算计划,实现用户在利用端对报表进行拜访时的缓存后果调取,进一步提高数据的响应速度,不便企业内多人同时进行查问。通过quick引擎的加成,quickbi工具实现了真正意义上的大数据分析。不同于传统BI软件,大数据分析工具不仅具备了商业智能工具的智能剖析与决策属性,更能够实现对TB级数据的实时智能剖析。就拿瓴羊Quick BI来说,在企业数据分析方面,它能实现全场景的笼罩,从管理层决策分析的驾驶舱到业务专题剖析,从施行监控全局的数据大屏再到一线人员的自助剖析报表,能够说瓴羊Quick BI笼罩了企业大数据分析的各种场景。瓴羊quickbi工具不仅是数字转型时代的大数据工具,还能够将大量繁冗的数据实现可视化展示,这能力将瓴羊quickbi工具的大数据能力施展到最大效用。比方瓴羊bi的数据大屏性能,装备了各个行业丰盛的图表模板和图标素材,能够利用在不同的畛域,搭建企业个性化的数字大屏,用于实现数据监管、企业散会、营销监控和对外接待等各种场景下的数据展现,繁冗的数据得以直观而又简洁的形式出现进去,大幅度晋升了企业的数据经营效力。 

April 18, 2023 · 1 min · jiezi

关于git:gitmoji中文指南

介绍提交音讯的表情符号指南 对照表emojiemoji代码阐明:art:改良代码的构造/格局。⚡️:zap:进步性能。:fire:删除代码或文件。:bug:修复一个谬误。️:ambulance:要害修补程序。✨:sparkles:引入新性能。:memo:增加或更新文档。:rocket:部署货色。:lipstick:增加或更新 UI 和款式文件。:tada:开始一个我的项目。✅:white_check_mark:增加、更新或通过测试。️:lock:修复平安问题。:closed_lock_with_key:增加或更新秘密。:bookmark:公布/版本标签。:rotating_light:修复编译器/linter 正告。:construction:工作正在进行中。:green_heart:修复 CI 构建。⬇️:arrow_down:降级依赖。⬆️:arrow_up:降级依赖项。:pushpin:将依赖项固定到特定版本。:construction_worker:增加或更新 CI 构建零碎。:chart_with_upwards_trend:增加或更新剖析或跟踪代码。♻️:recycle:重构代码。➕:heavy_plus_sign:增加依赖项。➖:heavy_minus_sign:删除依赖项。:wrench:增加或更新配置文件。:hammer:增加或更新开发脚本。:globe_with_meridians:国际化和本地化。✏️:pencil2:修改拼写错误。:poop:编写须要改良的蹩脚代码。⏪️:rewind:还原更改。:twisted_rightwards_arrows:合并分支。️:package:增加或更新编译的文件或包。️:alien:因为内部 API 更改而更新代码。:truck:挪动或重命名资源(例如:文件、门路、路由)。:page_facing_up:增加或更新许可证。:boom:引入重大变动。:bento:增加或更新资产。♿️:wheelchair:进步可拜访性。:bulb:增加或更新源代码中的正文。:beers:醉着写代码。:speech_balloon:增加或更新文本和文字。️:card_file_box:执行与数据库相干的更改。:loud_sound:增加或更新日志。:mute:删除日志。:busts_in_silhouette:增加或更新贡献者。:children_crossing:改善用户体验/可用性。️:building_construction:进行架构更改。:iphone:致力于响应式设计。:clown_face:模仿事件。:egg:增加或更新彩蛋。:see_no_evil:增加或更新 .gitignore 文件。:camera_flash:增加或更新快照。⚗️:alembic:进行试验。️:mag:改善搜索引擎优化。️:label:增加或更新类型。:seedling:增加或更新种子文件。:triangular_flag_on_post:增加、更新或删除性能标记。:goal_net:捕获谬误。:dizzy:增加或更新动画和过渡。️:wastebasket:弃用须要清理的代码。:passport_control:解决与受权、角色和权限相干的代码。:adhesive_bandage:对非关键问题的简略修复。:monocle_face:数据摸索/查看。⚰️:coffin:删除死代码。:test_tube:增加一个失败的测试。:necktie:增加或更新业务逻辑。:stethoscope:增加或更新健康检查。:bricks:基础设施相干的变动。:technologist:改善开发者体验。:money_with_wings:增加资助或与金钱相干的基础设施。:thread:增加或更新与多线程或并发相干的代码。:safety_vest:增加或更新与验证相干的代码。:whale:Docker 相干工作应用示例git commit -m ":tada:初始化我的项目"提交记录返回git近程仓库查看提交记录。

April 17, 2023 · 1 min · jiezi

关于git:git-清理提交信息-commits-的常用方法

用 git 管理文件的时候,commit 多了可能发现 .git 目录十分大,甚至远超治理的文件自身。上面是一些减小 .git 文件大小的办法。 清理优化本地版本库git gc --prune=now清理合并不必要的commit利用 rebase 变基,交互式抉择和合并commit git rebase -i [commit_id]齐全革除提交信息/重建版本库!!留神提前备份数据,且不要在公共分支上这么做 基本思路1:创立一个新的 orphan 分支,代替原来的分支 应用 --orphan 命令创立新的分支时,这个新建的分支和其余分支不会有任何关系,它不会蕴含任何先前的提交记录或者历史记录。相当于新建了一个洁净的空分支,并让该分支指向一个全新的根节点。不过这个办法只能让近程的commit清空,本地原有的 .git 还是会比拟大。git checkout --orphan <new-branch-name>git add .git commit -am "Initial commit"git branch -D <old-branch-name>git branch -m <old-branch-name>git push -f origin <old-branch-name>基本思路2:间接删除 .git 而后从新初始化 git rm -rf .gitgit initgit add .git cm "first commit"git remote add origin [your_github_repo_url]git push -f -u origin master

April 14, 2023 · 1 min · jiezi

关于git:git代码管理的2个实用小工具

1.gitignore性能选择性屏蔽不须要上传的编译测试等产生的长期冗余文件办法我的项目git根目录下创立一个文件名为.gitignore的文本文件,并增加须要屏蔽目录的门路,并将须要屏蔽的文件或者文件夹门路语法增加到文件中,如下图所示: /src/.vs /src/build /src/bin/win/x64/log /src/bin/win/x64/*.exe语法#: 正文,将被git疏忽*.o: 疏忽根目录及其子目录下所有以“.o”为后缀的文件/out: 疏忽根目录下名为out的文件或文件夹!run.sh: 不疏忽run.sh/bin/win/x64/*.pdb: 疏忽/bin/win/x64目录下所有以.pdb为后缀的文件2 windows下编译文件清理工具(bat)性能在git目录下清理代码编译产生的临时文件,以不便代码打包或者git提交办法创立git目录下创立clean.bat文件,将须要清理的目录或文件增加到文件夹中,清理代码如下所示:#清理vs关上后生成的长期文件夹rd /s/q .vs#清理代码编译生成的文件夹rd /s/q build#清理指定门路文件del /s/q bin\win\x64\test.pdb语法rd 删除文件夹del 删除单个文件del *.log 删除根目录及所有子目录下以log为后缀的文件rd删除参数阐明见下:/s:将目标目录下的所有文件及子目录文件删除;/q:毋庸确认删除;

April 14, 2023 · 1 min · jiezi

关于git:被吐槽-GitHub仓-库太大直接-600M-瘦身到-6M这下舒服了

大家好,我是小富~ 前言忙里偷闲学习了点技术写了点demo代码,打算提交到我那 2000Star 的Github仓库上,竟然发现有5个Issues,最近的一条日期曾经是2022/8/1了,以前我还真没注意过这些,我这人懒得很,本地代码提交胜利根本就不论了。 仓库地址:https://github.com/chengxy-nds/Springboot-Notebook 5个Issues中,有个题目"优化本仓库大小的倡议"吸引我了,连忙点进去看看啥状况,这个哥们说我这个仓库太大了,仓库700多M,半天也拉不下来,而后还给我附上了批改倡议(不要太贴心哦)。 我不信开始我还有点不信,这仓库提交的是我平时写文章中跑的代码demo,每个我的项目也就十来个文件几十KB,怎么会有700M这么多,不信邪的我连忙看了下仓库大小Setting->Repositoriess,竟然真有683M这么多。 于是我连忙Clone仓库到本地,看看是不是我提交了什么大文件,下载过程的确挺折磨人,不仅慢还常常中断,在通过不晓得多少次重试之后,终于下载下来了。 翻了翻各个我的项目发现里边确实有许多应该疏忽的文件.idea、.mvn、target都被我提交了,间接删除文件,但并没有什么卵用,我的项目整体size变动不大,应该不是这些文件的起因。 我用du命令看了下各目录的文件大小,发现./springboot-seata-transaction目录45M,因为里边有一个jar间接删除就行了;而 .git 足足有688M,看来问题就出在这个目录,重点优化下。 这目录好大那么.git目录是寄存什么的?为什么会这么大呢? 在Git零碎中,.git目录中存储了整个代码仓库的元数据信息(包含提交历史记录、分支、标签等)和文件对象。 我在该目录上用du命令看了一下,发现 objects 目录竟然有683M,那么问题就是出在它身上了。 objects目录之所以这么大,是因为它保留了仓库中的所有历史版本和数据对象,也就是blobs文件内容, trees目录构造, commits提交历史,它们是 Git 中的三个外围对象类型。 其中: Blobs: 每一个文件都被视为一个二进制对象(Blob 对象),它保留了文件的所有内容和一些元数据信息,如文件名、文件类型、文件大小等。当文件发生变化时,Git 会主动计算并存储新的 Blob 对象,并将其与先前的 Blob 对象做比拟,以确定文件的变动状况。Trees: 目录也被视为一个对象(Tree 对象),它保留了目录中蕴含的所有文件和子目录的列表,每个列表项包含了文件或目录的名称、类型、权限等信息,以及对应文件或目录的 Blob 或 Tree 对象的 SHA 校验和。Commits: 咱们每次提交代码,就会产生一次Commit, Commit对象保留了一次代码变更的相干信息,包含作者、提交工夫、父提交记录的 SHA 值、形容信息等。每个 Commit 对象还蕴含指向对应代码快照的 Tree 对象的 SHA 校验和。上边三种类型的对象组成了Git中的根本数据单元,通过这些对象的组合和链接,才构建出残缺的提交历史,并跟踪代码库中每个文件的变动历史。这个目录是Git中最重要的目录之一,所以对它操作要审慎,不然很容易失落历史记录。 瘦身利器只管咱们晓得了大文件的地位,可具体该删除哪些文件无从下手啊,objects目录下都是些压缩文件,弄不好整个仓库都得报废。 好在提Issues的兄弟还给举荐了个Git仓库瘦身的工具,该说不说真的贴心啊。 这个Git仓库清理工具叫BFG Repo-Cleaner,能够帮忙咱们筛选、清理大文件对象,官网文档地址:https://rtyley.github.io/bfg-repo-cleaner ,接下来看看这工具咋用。 留神:在做以下操作之前,肯定要备份!!! 肯定要备份!!! 肯定要备份!!!1、下载安装 BFG 是以java -jar的形式启动,首先装置不低于JDK8+ 的环境,并下载 BFG 的Jar包。 $ wget https://repo1.maven.org/maven2/com/madgag/bfg/1.14.0/bfg-1.14.0.jar2、clone 仓库 ...

April 11, 2023 · 1 min · jiezi

关于git:小白对Gitee安装及应用的理解Gitee一款记录代码的好东西

一、Gitee是什么?Gitee(码云) 能够去理解一下是不是你当初想的那个马✨Gitee是OSCHINA.NET推出的代码托管平台,反对Git和SVN,提供收费的公有仓库托管。目前已有超过600万的开发者抉择Gitee。Gitee是开源中国(OSChina) 推出的基于Git的代码托管服务。Gitee包含三 三个版本,别离是:社区版、企业版和高校版。咱们国人建的 二、为什么要应用Gitee其余的小的作用我就不提了,像什么给本人一点成就感啊,什么监督本人啊都不足挂齿,最次要的作用:让你升职加薪,让你的面试官晓得你是多牛,让你的辛苦可视化一个格子就是一天,一列就是一个星期,整个表就是一年;如果你的表全绿了,绿的不能在绿的那种,领导都是弟弟,年薪30万不成问题,如果你只想年薪十几万千万别让他那么绿,不要老板认为你欲擒故纵,拼命给你加钱。 三、如何注册并应用Gitee1)你要去注册一个Gitee上链接:增加链接形容https://gitee.com/(点蓝字间接跳转)填一下根底信息,就注册好了 2)你要建一个仓库只有填上仓库名称点个创立就OK(门路是主动生成的,其余的想写就写) 3)下载两个工具(肯定要先按第一个再装第二个)第一个工具:增加链接形容https://gitforwindows.org/(点蓝字间接跳转)不要去改这个门路,就放c盘里,而后始终next就OK了。 第二个工具增加链接形容https://tortoisegit.org/download/(点蓝字间接跳转) 4) 胜利的标记(环境曾经搭建好了) 5)开始提交代码1. 应用Git clone 2.而后这样操作,好了之后就有一个文件夹了,把你要传的代码放进去。 3.提交代码三板斧*add(要点一次那个文件夹,选中他,才有这个选项)点OK到这里来 **commit写一些备注,这个代码是干嘛的,不便本人晓得,好了点commit。 *push点push,和OK到这来==搞好了就胜利啦,就能够看到小绿点了== 最初深受鹏哥的领导来写的,小白们能够看鹏哥的视频==对照此博客来操作==,我只是鹏哥的搬运工间接看p12就好了

April 10, 2023 · 1 min · jiezi

关于git:初始化git工程

初始化git工程的办法,针对新建、导入现有工程等场景 Git global setup git config user.name "foobar"git config user.email "foobar@abc.com"Create a new repository git clone git@ip:some-project.gitcd some-projecttouch README.mdgit add README.mdgit commit -m "add README"git push -u origin masterPush an existing folder cd existing_foldergit initgit remote add origin git@ip:some-project.gitgit add .git commit -m "Initial commit"git push -u origin masterPush an existing Git repository cd existing_repogit remote rename origin old-origingit remote add origin git@ip:some-project.gitgit push -u origin --allgit push -u origin --tags

April 10, 2023 · 1 min · jiezi

关于git:Git操作命令

1、更新git近程地址git remote set-url origin <近程地址>2、查看本地的标签git taggit tag -l3、查看本地某个 tag 的详细信息git show <tagName>4、查看近程所有taggit ls-remote —tags origin5、本地tag的删除git tag -d <tagName>6、近程tag的删除git push origin :refs/tags/<tagName>7、切换标签git checkout <tagName>8、拉取近程tag拉取独自tag git fetch origin tag <tagName>拉取所有近程tag git fetch - -tags -f 强制9、取回近程主机某个分支的更新,再与本地的指定分支合并git pull <近程主机名> <近程分支名>:<本地分支名> 如果近程分支是与以后分支合并,则冒号前面的局部能够省略10、建设追踪关系git branch --set-upstream <本地分支> origin/<近程分支>11、查看追踪关系git branch -vv12、查看原始的fetch和push门路git remote -v13、查看以后分支基于哪个分支创立git reflog show <分支名>14、创立分支git branch <name>15、删除分支git branch -d <name> 参数为-D则为强制删除16、切换分支git switch <name>git checkout <name>17、创立+切换分支git switch -c <name>git checkout -b <name> 上方两条命令一个意思:如果分支存在则只切换分支。不存在则创立叫name的分支,而后切换到该分支。相当于两条命令:git branch <name>,git checkout <name>18、查看分支git branch ...

April 7, 2023 · 1 min · jiezi

关于git:git-stash使用详解

1.作用这个命令能够将以后的工作区域的代码暂存起来,在须要的时候再复原应用。 2.应用场景当在一个分支开发性能开发到一半要进行合并代码或者切换分支操作,这时候就能够把现有工作区域的代码暂存起到git栈,而后进行合并或者切换分支的操作,等操作完后要持续之前未实现的,这时候git stash就派上用场,真的太不便了、 3.常见办法:1.git stash list查看以后stash的所有内容 2.git stash保留以后的工作区与暂存区的状态,把以后的批改的保留到git栈,等当前须要的时候再复原,git stash 这个命令能够屡次应用,每次应用都会新加一个stash@{num} num是编号 3.git stash save '正文' 作⽤等同于git stash,区别是能够加⼀些正文, 执⾏存储时,增加正文,⽅便查找git stash save 'test' 4.git stash pop默认复原git栈中最新的一个stash@{num},倡议在git栈中只有一条的时候应用,免得凌乱,该命令将堆栈中最新保留的内容删除 5、git stash apply将堆栈中的内容复原到以后分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令可能将堆栈的内容屡次使用到工作目录,适宜用与多个分支的场景git stash apply stash@{$num} 6、git stash drop 从堆栈中移除指定的stashgit stash drop stash@{$num} 7、git stash clear 移除全副的stash 8、git stash show查看堆栈中最新保留的stash和以后⽬录的差别

April 6, 2023 · 1 min · jiezi

关于git:git代码撤销与回滚

1.git reset回到某次提交,提交及之前的commit都会被保留,然而此次之后的批改都会被退回到暂存区 1.1.回退$ git reset--hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前$ git reset --hard commit_id 退到/进到 指定commit的sha码1.2.强制推送近程$ git push origin HEAD --force如果应用这个办法生效了,提醒 :不容许强制将代码推送到此我的项目上受爱护的分支 remote: GitLab: You are not allowed to force push code to a protected branch on this project.2.git revert生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留 2.1.回退$ git revert commit_id 退到/进到 指定commit的hash码 2.2.强制推送近程$ git push origin --force

April 6, 2023 · 1 min · jiezi

关于git:Git分支合并merge时忽略某个文件或者目录

前言最近我的项目在开发合并代码的时候,不同分支的配置文件常常不一样,比方.env、.gitlab-ci.yml,每个分支都须要放弃本人的配置文件,从本人分支合并到maser分支时不受影响。本文次要记录如何在合并分支时疏忽某些文件或者目录。 首先git merge大抵是这样的逻辑:git在merge分支时,有一个默认的merge驱动,这个驱动会去查看每个文件的每一行,如果依照肯定规定发现两个分支的同一个文件有不同,那么认为两个分支都对这个文件做了批改,会merge两个文件,此时有可能产生抵触;那么如果咱们自定义一个merge驱动,在外面定义一些不会被查看的文件,那git就会间接跳过这些文件,因而就不会merge,而咱们自定义的这个merge驱动就是 ours。例如要实现dev分支根目录下的文件test.txt,不合并到master分支上 操作步骤1. 定义虚构的合并策略根目录运行命令 git config --global merge.ours.driver true2. 编辑规定文件在我的项目根目录下新建文件.gitattributes,而后文件中写入须要疏忽的文件名 + merge=ours, 一个文件占一行.在dev分支上建设.gitattributes 文件并提交 内容如下: test.txt merge=ours 3. 合并文件git checkout mastergit merge dev此时合并就不会把test.txt文件合并到master分支了

April 3, 2023 · 1 min · jiezi

关于git:Git-Commit-Message-应该怎么写

原文链接: Git Commit Message 应该怎么写? 最近被共事吐槽了,说我代码提交阐明写的太差。其实都不必他吐槽,我本人心里也十分分明。毕竟很多时候犯懒,都是间接一个 -m "fix" 就提交下来了。 这样做是十分不好的,我也是自食恶果,深受其害。特地是查看历史提交记录时,想通过提交阐明来理解过后的性能变更,根本不可能,都得点进去看代码才行。 所以这两天看了一些如何写好提交阐明的材料,系统地学习了一下。尽管团队没有这方面的要求,然而想要提高,得对本人提更高的要求才行。 个别应用 git 提交代码的话,能够应用 -m 参数来指定提交阐明,比方: $ git commit -m "hello world"如果一行不够,能够只执行 git commit,这样就会跳出文本编辑器来写多行: $ git commitCommit Message 格局Commit Message 包含三个局部:Header,Body 和 Footer。 <Header><Body><Footer>其中,Header 是必须的,Body 和 Footer 能够省略。 HeaderHeader 局部只有一行,包含三个字段:type(必须)、scope(可选)、subject(必须)。 <type>(<scope>): <subject>typetype 用于阐明 commit 的类别,具体的标识如下: feat:一个新的性能(feature);fix:修复 bug;docs:批改文档,比方 README.md、CHANGELOG.md 等;style:批改代码的格局,不影响代码运行的变动,比方空格、格式化代码、补齐句末分号等等;refactor:代码重构,没有新性能的增加以及 bug 修复的代码改变;perf:优化代码以进步性能;test:减少测试或优化改善现有的测试;build:批改影响我的项目构建文件或内部依赖项,比方 npm、gulp、webpack、broccoli 等;ci:批改 CI 配置文件和脚本;chore:其余非 src 门路文件和测试文件的批改,比方 .gitignore、.editorconfig 等;revert:代码回退;scopescope 用于阐明 commit 的影响范畴,比方数据层、管制层、视图层等等,视我的项目不同而不同。 如果你的批改影响了不止一个 scope,就能够应用 * 代替。 subjectsubject 是 commit 目标的简略形容,不超过 50 个字符,结尾不须要句号。 ...

April 2, 2023 · 2 min · jiezi

关于git:如何清空git所有的提交记录

首先,创立一个没有提交记录的分支,比方: git checkout --orphan newBranch而后,提交此分支到本地: git add -Agit commit -m 清空历史记录删除原来的分支后把以后分支改为原来分支的名字(假如原来分支叫master): git branch -D mastergit branch -m master最初,推送到服务器即可: git push -f origin master

March 30, 2023 · 1 min · jiezi

关于git:瓴羊Quick-BI与永洪BI深受市场欢迎的数据工具

BI工具自上世纪六、七十年代呈现,过后它们次要的性能就是开掘数据和存储数据,而到了21世纪,人工智能和云数据的倒退也促使BI工具一直地翻新与倒退。在多年的倒退过程当中,瓴羊Quick BI与永洪BI获得了十分不错的功效。尽管这一开始提出BI概念的多是欧美的发达国家,这些国家次要通过构建大型的IT零碎来解决和剖析数据,并将数据提供给前端或者管理层。随同着企业数字化降级联盟对于数据分析的需要也越来越大,因而繁多的IT零碎曾经无奈满足人们日剧增的需要,国产的数据工具衰亡,并且补救了相应的缺点。就像瓴羊Quick BI与永洪BI,他们致力于数据自动化与可视化,可能帮忙企业管理者剖析数据,进步企业的经营能力。 先来说说瓴羊Quick BI,它是阿里旗下的产品,它不仅可能为企业提供数据模板,还能进行数据分析与数据共享,胜利地在金融传媒,餐饮、快消等行业发挥作用。而永洪BI则可能以简化操作程序,晋升数据部署速度、升高数据门槛等形式更快地解决数据。通过拖动拉拽等形式,人们就能够疾速的实现数据分析。不得不说,瓴羊Quick BI与永洪BI这两种数据工具实则有殊途同归之妙。瓴羊Quick BI与永洪BI十分清晰地向大家展现进去了将来BI的倒退方向,将来的BI将朝着可视化、自助式、业务化方向倒退。

March 27, 2023 · 1 min · jiezi

关于git:一款vscode-git规范化提交的插件

vscode git规范化提交插件,欢送star! git-commit-lint-vscode在日常的开发中,目前支流的代码管理工具就是 git 了,当咱们对代码进行改变了,首先得git commit提交到本地仓库,git 规定了提交时必须填写提交信息作为改变阐明,保留 commit 历史中,能够找到历史代码,也不便别人 review,还能够输入 CHANGELOG,对我的项目的研发品质都有很大的晋升。 然而在平时的工作中,大部分对于commit 都是简略的填写,没有好好的器重,这对于项目管理和保护来说,无疑是不敌对的。这个插件就是规范化git提交标准,让你的提交不仅"难看"还"实用" git 标准提交从何说起?git 标准提交从哪里开始的呢?起源在哪呢?emmmmmm,这就追溯到了Angular了!让咱们看下Angular社区的提交标准 这个提交记录是不是高深莫测?所以git commit标准下还是很有必要的! 阐明类型emji形容feat✨引入新性能fix修复 bugstyle更新 UI 款式文按键format格式化代码docs增加/更新文档perf进步性能/优化init首次提交/初始化我的项目test✅减少测试代码refactor改良代码构造/代码格局patch增加重要补丁file增加新文件publish公布新版本tag公布新版本config批改配置文件git增加或批改.gitignore 文件应用成果 应用阐明12下载在 vscode 扩大中搜寻 git-commit-lint-vscode 即可找到该插件。 插件配置 你能够在 vscode 的 文件 -> 首选项 -> 设置 -> 扩大 -> git-commit-lint-vscode 中对该插件进行配置,目前可选的配置项为: Accurate Locating: 当存在多个存储库时,是否精确定位到选定存储库的输入框,默认为否。注:该性能在少数状况下能够失常运行,只有当你的源代码治理存储库存在多个存储库,如只抉择局部存储库或程序谬误时,就会选中谬误的输入框。Cover Input Value: 是否笼罩提交信息, 默认为是。如果勾销勾选,则会在之前的提交信息前插入 emoji 或者 code。Custom Format: 自定义 git 提交格局, 默认为${emoji}${code}: 。能够齐全自定义 参数取Custom Type外面的keyCustom Type: 自定义 git 提交类型, 默认为[ { "emoji": "✨", "type": "feat", "name": "引入新性能", "description": "新性能" }, { "emoji": "", "type": "fix", "name": "修复bug", "description": "bug" }, { "emoji": "", "type": "style", "name": "更新UI款式文件", "description": "款式" }, { "emoji": "", "type": "format", "name": "格式化代码", "description": "格式化" }, { "emoji": "", "type": "docs", "name": "增加/更新文档", "description": "文档" }, { "emoji": "", "type": "perf", "name": "进步性能/优化", "description": "优化" }, { "emoji": "", "type": "init", "name": "首次提交/初始化我的项目", "description": "初始化" }, { "emoji": "✅", "type": "test", "name": "减少测试代码", "description": "测试" }, { "emoji": "", "type": "refactor", "name": "改良代码构造/代码格局", "description": "优化" }, { "emoji": "", "type": "patch", "name": "增加重要补丁", "description": "补丁" }, { "emoji": "", "type": "file", "name": "增加新文件", "description": "新文件" }, { "emoji": "", "type": "publish", "name": "公布新版本", "description": "新版本" }, { "emoji": "", "type": "tag", "name": "公布版本/增加标签", "description": "书签" }, { "emoji": "", "type": "config", "name": "批改配置文件", "description": "配置" }, { "emoji": "", "type": "git", "name": "增加或批改.gitignore文件", "description": "不可见" }]issues应用中能够在这发问,有什么需要同样能够在这提出来 ...

March 27, 2023 · 2 min · jiezi

关于git:面向业务的BI工具大受欢迎以瓴羊Quick-BI与永洪BI为例

BI的起源能够追溯到20世纪60、70年代,过后次要的数据分析技术是数据挖掘和数据仓库。到了21世纪,随着云计算和人工智能技术的一直倒退,BI技术也在不断创新和倒退。目前,BI曾经成为企业治理中不可或缺的一部分,帮忙企业更好地应答市场变动和竞争压力,获得更好的商业成绩。而在这些年的倒退过程中,BI工具经验了从传统BI到瓴羊QuickBI、永洪BI等面向业务的新一代BI工具的变质。 BI概念提出的最后,简直所有的BI厂商都诞生在欧美发达国家,这些传统BI工具次要的特色是须要构建业余、大型的IT零碎,并由IT或业余数据分析人员进行数据处理和剖析,提供数据后果给业务前端或管理层。 不言而喻,随着企业数字化降级的推动,企业中对于数据分析的需要一劳永逸,老旧的模式会导致IT部门成为企业的数据瓶颈。所以,进入新世纪后,新一代的BI工具陆续呈现。这些BI工具既有欧盟厂商的软件,也有国产BI工具,如瓴羊Quick BI、Fine BI、永洪BI等,它们独特的特点是高度重视数据可视化与自助化,业务人员能够较快地把握瓴羊Quick BI等工具的应用办法,晋升本人日常数据处理与剖析工作的效率。以瓴羊Quick BI为例,瓴羊Quick BI是阿里云旗下的BI产品,作为国内惟一间断3年进入Gartner魔力象限ABI报告的产品,瓴羊Quick BI不仅可能提供弱小的数据建模、数据筹备、数据分析与分享能力,更在“零代码”开发和数据可视化方面表现出色,因而受到了服务批发、金融、快消、传媒、餐饮行业中泛滥知名企业的关注,胜利利用的案例也很多。其中,瓴羊Quick BI的即席剖析性能能够帮忙业务人员无需专业知识或专业人士帮忙就能实现简单、多样的数据分析。业务人员只须要简略拖拽数据维度即可生成具体的表格数据,实现“零代码”自助剖析。而瓴羊Quick BI在数据可视化方面更是自成一家,在瓴羊Quick BI的数据仪表板中共蕴含了40余种图表款式并反对自定义图表类型,足以满足绝大多数企业的数据可视化剖析需要,让管理决策高深莫测。 同样,永洪BI提出的“麻利BI”与瓴羊Quick BI有着殊途同归之妙。永洪BI次要通过升高零碎门槛,晋升部署速度、升高操作复杂性等路径使得零碎更易被业务人员所承受。和瓴羊Quick BI类似,永洪BI也为业务人员提供了利落拽式的数据分析工具,不便业务人员应用。从瓴羊Quick BI与永洪BI的独特抉择,咱们便能清晰看出:业务向、自助式、可视化等会是将来BI工具倒退的大趋势。

March 22, 2023 · 1 min · jiezi

关于git:git-撤销merge

merge合并代码后还没add时 git merge --abortmerge合并代码add后 应用git log查看commit记录 应用git reset --hard xxxxxxx(commit id)回退到对应的commit版本

March 21, 2023 · 1 min · jiezi

关于git:gitlabrunner-Mac安装步骤

1、装置gitlab-runnerbrew install gitlab-runner 2、初始化gitlab-runner gitlab-runner install// 如果曾经装置过了,能够执行gitlab-runner uninstall,而后再重新安装~/.gitlab-runner/config.toml // 装置胜利后会生成配置文件 concurrent = 1check_interval = 0shutdown_timeout = 0[session_server] session_timeout = 1800[[runners]] name = "Mac.local" url = "https://gitlab.com/" id = 439 token = "ukTcm6Wfa1Ex4Wizx2dY" token_obtained_at = 2023-03-11T17:36:01Z token_expires_at = 0001-01-01T00:00:00Z executor = "shell" [runners.cache] MaxUploadedArchiveSize = 04、验证gitlab-runner,联通gitlabgitlab-runner verify5、创立日志文件夹,授予读写权限:6、启动 gitlab-runner start // 启动gitlab-runner status // 查看运行状态

March 17, 2023 · 1 min · jiezi

关于git:通用git-ignore

HELP.md.gradlebuild/target/!gradle/wrapper/gradle-wrapper.jar!**/src/main/**/build/!**/src/test/**/build/### STS ###.apt_generated.classpath.factorypath.project.settings.springBeans.sts4-cachebin/!**/src/main/**/bin/!**/src/test/**/bin/### IntelliJ IDEA ###.idea*.iws*.iml*.iprout/!**/src/main/**/out/!**/src/test/**/out/### NetBeans ###/nbproject/private//nbbuild//dist//nbdist//.nb-gradle/### VS Code ###.vscode/*.log

March 13, 2023 · 1 min · jiezi

关于git:一天吃透Git面试八股文

什么是Git?Git是一个版本控制系统,用于跟踪计算机文件的变动。Git是一个跟踪计算机文件变动的版本控制系统,用于帮忙协调一个我的项目中几个人的工作,同时跟踪一段时间的停顿。换句话说,咱们能够说它是一个促成软件开发中源代码治理的工具。 Git和SVN的区别Git是分布式版本控制系统,SVN是集中式版本控制系统 什么是 Git 仓库?Git 仓库指的是一个用于寄存源代码的中央。Git 仓库是指寄存所有 Git 文件的中央。这些文件既能够存储在本地仓库,也能够存储在近程仓库。 有哪些Git命令及其性能?Git config - 配置用户名和电子邮件地址Git add - 增加一个或多个文件到暂存区域Git diff - 查看对文件的批改状况Git init - 初始化一个空的 Git 仓库Git commit - 将更改提交到头部,但不提交到近程仓库应用Git有什么益处?更快的公布周期易于团队合作宽泛的接受度放弃源代码的完整性拉动申请如何解决Git中的抵触?辨认造成抵触的文件。对这些文件进行所需的批改应用 git add 命令增加文件。最初一步是在git commit命令的帮忙下提交文件的批改。如何发现一个分支是否曾经被合并了?有两个命令能够确定: git branch --merged -- 返回已被合并到以后分支的分支列表。git branch --no-merged --返回尚未合并的分支的列表。git remote和git clone什么区别?'git remote add'在你的git配置中创立了一个条目,指定了一个特定URL的名称,而'git clone'通过复制位于该URL的现有仓库来创立一个新的git仓库。 reset和Revert的区别是什么?Git reset是一个弱小的命令,它能够让你的工作更有效率。 Git reset 是一个弱小的命令,用于撤销对 Git 仓库状态的部分批改。Git 重置的操作对象是 "Git 的三棵树",即:提交历史(HEAD)、暂存索引和工作目录。Git的Revert命令创立了一个新的提交,撤销了前一个提交的批改。这个命令为我的项目增加了一个新的历史。它并不批改现有的历史。Git 和 GitHub 的区别是什么?Git 是一个版本控制系统。Git 是一个版本控制系统,用于治理源代码历史。而GitHub则是一个基于云的托管服务,用于治理Git仓库。GitHub的目标是帮忙更好地治理开源我的项目。 git reset的性能是什么?Git reset "的性能是将你的索引以及工作目录重置为你最初一次提交的状态。 git fetch&git pull详解git fetch的意思是将近程主机的最新内容拉到本地,用户再查看无误后再决定是否合并到工作本地分支中。 git pull 是将近程主机中的最新内容拉取下来后间接合并,即:git pull = git fetch+git merge,这样可能会产生抵触,须要手动解决。 ...

March 12, 2023 · 1 min · jiezi

关于git:2023年centos7-git升级到2x的的方法不用makemake-install

所有make make install的办法都过期了,除非你是oldstyle man。 办法1原链接:https://blog.csdn.net/caimengyuan/article/details/80634752 yum remove git# 装置IUS库yum install \https://repo.ius.io/ius-release-el7.rpm \https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm去库里查看最新的git版本间接 yum install git224办法2应用End point库原链接:https://juejin.cn/post/7071910670056292389 sudo yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpmsudo yum install git

March 8, 2023 · 1 min · jiezi

关于git:git-cherrypick使用

场景对于多个分支的代码库,将分支代码从一个分支转移到另外一个分支是很常见的操作。这时候有两种场景:你须要以后分支所有的代码改变,能够采纳分支合并(git merge)的形式;你只须要以后分支的某一部分代码(某几个提交),这时候能够采纳git cherry-pick操作; 1.根本用法git cherry-pick的作用就是将指定的提交(commit)利用于其它分支。比方当初仓库有两个分支master和dev分支,想要将dev分支的c、d两个commit提交利用到master分支首先须要切换到master分支,而后git cherry-pick c d ps:多个commit应用空格宰割, 最好按提交工夫先后排列, 即最先提交的commit放在后面;cherry-pick不仅能够用在不同分支之间, 还能够用在同一个分支上.同一分支用法也是一样的, 比如说你在某一个向某个分支中增加了一个性能, 起初处于某种原因把它给删除了,然而起初某一天你又要这个性能, 这时候就能够应用cherry-pick把增加那个性能的commit, 就回来了 2.配置项 3.代码抵触 4.转移到另外一个代码库

March 8, 2023 · 1 min · jiezi

关于git:gitlab项目迁移

背景因为我的项目流程不标准,局部团队成员将我的项目git创立在集体门路下,不方便管理,须要将我的项目git迁徙到团队group。 迁徙筹备首先须要提前配好新旧两个我的项目的git权限(Developer权限以上),而后确保已配置gitlab的ssh密钥,保障能失常拉代码。 迁徙过程以上面的两个我的项目为例: 源 git 地址:git@gitlab.com:source/admin.git 指标 git 地址:git@gitlab.com:target/admin.git 应用命令行工具,cd到一个空文件夹,执行以下命令: 拉取源我的项目近程所有分支 git clone --mirror git@gitlab.com:source/admin.git切换目录 cd admin.git/设置bare属性为false git config --bool core.bare false切换到指标我的项目的remote url git remote set-url origin git@gitlab.com:target/admin.git推送所有分支 git push --mirror origin参考文章《 gitlab我的项目迁徙 》 作者:ericaaa

March 6, 2023 · 1 min · jiezi

关于git:Jgit-pull-or-push-remote-hung-up-unexpectedly-的解决

问题定义在上篇中提到通过 Jgit 实现对公司git的操作,达成业务上的一些性能,最近在扩容和部署到新租户环境下时,局部机器遇到操作近程仓库时报会报 remote hung up unexpectedly。通过一番面向互联网编程后,逐渐确认是因为服务器上仓库通过https 模式 clone 下来后被重置为 ssh 模式,目前还不确定是为什么这些机器会有这样的景象。具体报错信息如下: org.eclipse.jgit.api.errors.TransportException: git@git.xxx.com:/xxxx.git: remote hung up unexpectedly at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:246) at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:266)............... 省略其余Caused by: org.eclipse.jgit.errors.TransportException: git@git.xxx.com:/xxxx.git: remote hung up unexpectedly at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:313) at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:153) at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:151) at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:103) at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1462) at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:235)在于近程仓库做身份验证时模式无奈匹配。 问题解决既然是被设置为 ssh 形式,应答形式有两种形式,办法一是将服务器上本地 git 仓库改为 https 模式,办法二是代码中做校验,依据仓库类型再抉择对应的认证形式。 办法一是批改确认clone形式为https,若git clone https导出还是不行,则暴力的形式是批改.git/config配置文件的URL,将ssh门路改为https,或者间接将账户明码配置到URL中(url = https://[git账户]:[git明码]@git.xxx.com/xxx/xxx.git),绕过身份验证。 办法二的两种认证形式在上一篇《Java通过JGit操作Git的应用办法》中有提到: HTTP(S)账号+明码: // 账号 + 明码UsernamePasswordCredentialsProvider provider = new UsernamePasswordCredentialsProvider("userName-zhimaxingzhe", password);// 拉取近程更新 git.pull().setCredentialsProvider(provider).setRemoteBranchName(branchName).call();SSH协定应用公钥认证: SshSessionFactory sshSessionFactory = new JschConfigSessionFactory() { @Override protected void configure(OpenSshConfig.Host host, Session session) { session.setConfig("StrictHostKeyChecking", "no"); } @Override protected JSch createDefaultJSch(FS fs) throws JSchException { JSch sch = super.createDefaultJSch(fs); //keyPath 公钥文件 path,执行ssh-keygen -o 命令生成,配置到账户信赖key中 sch.addIdentity(keyPath); return sch; }};// 关上本地仓库Git git = Git.open(new File("/Users/zhimaxingzhe/test"));// 执行近程拉取合并时应用git.pull().setTransportConfigCallback( transport -> { SshTransport sshTransport = ( SshTransport )transport; sshTransport.setSshSessionFactory( sshSessionFactory ); });其实还有一种办法,我没有尝试,但看原文作者是解决了,这里贴出链接供参考https://juejin.cn/post/7132469765934678030 ...

February 27, 2023 · 1 min · jiezi

关于git:点赞openKylin入选2022科创中国开源创新榜年度优秀开源社区

近日,在2023“科创中国”年度会议上,中国科协正式公布2022“科创中国”开源翻新榜单。openKylin社区作为国内桌面操作系统根社区,凭借着优良的社区创新力、技术实力和社会影响力,入选“科创中国”开源翻新榜年度优良开源社区。“科创中国”开源翻新榜致力于打造极具公信力的开源公布品牌,由“科创中国”开源翻新联合体负责征集评比,开掘具备创新性的优良开源产品,活跃度高、贡献度高的优良社区,以及推动开源产业倒退的优良开源机构,引领打造开源翻新生态。以后,以开源软件为根底构建信息系统成为了支流趋势。openKylin作为中国桌面操作系统根社区,勇担时代使命,推出3大核心技术助力开源桌面操作系统建设。1、可控开源体系:通过制订和施行一系列规章制度、技术计划,确保开源社区中的代码起源可控、零碎设计可控、开发过程可控,确保用户和开发者可能平安、稳固、牢靠、继续地应用开源社区中的开源组件及其波及的支持性服务。2、分级解冻机制:针对处于不同状态的利用进行“分级”解决,以某种非凡形式“解冻”用户未操作利用,从而开释系统资源(如CPU、磁盘I/O、内存等)的一种利用生命周期管控机制,优先保障用户以后操作利用的资源分配,晋升用户体验。3、原生兼容技术:为解决操作系统各架构间生态互相独立的难题,从硬件平台和软件生态两个维度登程,面向不同指令集架构实现多平台同源操作系统版本,并通过原生软件反对和软件兼容技术,构建出对立、交融的软硬件生态体系。作为初创社区,openKylin疾速汇集行业中坚力量,独特推动操作系统技术创新和生态共建,正式迈入“根力量”高速发展期。截至目前,openKylin社区单位会员冲破150家,社区用户数量超75万,社区贡献者超2000人,并成立59个社区SIG组发展各类技术钻研和翻新,独特为打造翻新的下一代操作系统奠定技术根底。此次入选科创中国“开源翻新榜”是对openKylin社区开源创新能力和行业影响力的高度肯定。将来,openKylin也将放弃初心,聚焦开源翻新生态建设、为营造良好开源生态继续致力。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 23, 2023 · 1 min · jiezi

关于git:自主争先openKylin率先布局RISCV架构OS办公场景生态

近年来,中国数字化转型浪涛汹涌,信息安全重要性也变得尤为突出,在ICT倒退中,芯片和操作系统作为“芯与魂”,是构筑国家信息安全底座的根基力量。openKylin社区作为由麒麟软件主导成立的国内桌面操作系统根社区,担当时代使命,率先布局基于RISC-V架构的新一代桌面办公场景生态,迁徙适配开源利用生态,并协同平头哥、钉钉等商业生态搭档布局根本可用的桌面办公场景利用。 openKylin社区自2022年6月成立起,就非常关注并继续投入RISC-V架构生态建设,紧抓开源产业趋势,在逐渐打磨OS产品个性、迁徙适配Firefox等开源软件等同时,与平头哥、钉钉等软硬件厂商发展屡次洽谈,推动搭档间深刻单干,构筑操作系统与RISC-V架构软硬件生态协同倒退力量,目前在版本布局、零碎性能、我的项目孵化、知识产权等层面获得了一系列翻新停顿: 版本布局openKylin适配了HiFive Unmatched、VisionFive、VisionFive2战争头哥曳影1520四款RISC-V开发平台,制作了相干openKylin版本; 零碎性能配置了内核电源治理模块,解决了零碎关机和重启问题,晋升了系统启动速度约30秒;实现了openKylin RISC-V版本中的镜像主动分盘性能,烧录镜像后第一次开机时会主动将硬盘残余空间调配到根分区; 软件生态适配了openKylin自研、Libreoffice和FireFox等软件,可能满足用户的日常上网及办公需要;我的项目孵化公布了RISC-V平台软件兼容我的项目RVTrans,实现X86软件在RISC-V平台的兼容运行,目前已胜利适配简略的应用程序,并继续更新欠缺; 技术积淀申请国家发明专利1项,在国内外发表学术论文数篇。 RISC-V作为一款开源指令集,为咱们构筑国家信息安全底座提供了新的选项。中国工程院院士倪光南曾指出,RISC-V架构应该成为国内科技企业的新焦点,将来或造成ARM、X86以及RISC-V三足鼎立的场面。 openKylin社区旨在以“共创”为外围,通过开源、凋谢的形式与企业构建合作伙伴生态体系,致力打造成为产业主导、平台自主、技术先进、生态丰盛”的桌面操作系统根社区。RISC-V为我国布局自主根底软硬件生态提供了新的可能,openKylin社区也将紧抓时代时机,联结更多产、学、研、用搭档,从可用到好用构筑RISC-V架构下的OS办公场景新生态,为用户提供更好的抉择。 openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 21, 2023 · 1 min · jiezi

关于git:Git不暂存提交代码也能切换到别的分支vs-code搭配GitLens-Git-supercharged看效果

问题形容假如有这样一个场景需要: 某一天,咱们正在本人的开发分支上欢快的写代码忽然产品强人找到咱们,说客户要求在生产环境上给首页加上一个暗影,难看一些要立即,马上加!然而咱们本人的开发分支上代码还没有开发完咱们不想去git add ./ 再git commit -m 'xxx'(不想去减少提交记录)然而咱们如果间接切换到生产分支,当下还没有写完的代码就会被overwritten(容易失落当下还没写完的代码)此时,git stash命令就闪亮退场啦...操作演示步骤咱们晓得Git是命令行代码工具,用于治理咱们的开发代码基于这个底层工具,一些大佬研发出一些可视化的Git治理插件(如在vscode中应用)笔者的习惯是应用命令行Git操作,搭配GitLens — Git supercharged可视化Git插件上面笔者将在vscode编辑器中,联合GitLens — Git supercharged插件去演示场景需要下载GitLens — Git supercharged插件笔者也举荐大家应用这个可视化Git工具,尽管不怎么用这个可视化工具操作代码,不过用于看本人提交的代码操作,还是比拟直观的。 vscode拓展下载 下载胜利 演示操作图解假如有两个分支,git branch查看一下 咱们当下在dev分支欢快地写代码呢 // 原来代码console.log('我是开发分支')console.log('我是开发分支')console.log('我是开发分支')// 写了一半,写成了console.log('欢快地写代码')console.log('欢快地写代码')console.log('欢快地写代码') 当咱们想要间接切换分支时,git会有对应谬误正告,因为代码还没add还没commit呢 error: Your local changes to the following files would be overwritten by checkout: home.jsPlease commit your changes or stash them before you switch branches.Aborting/*谬误:切换分支时将笼罩对以下文件的本地更改:home.js请在切换分支之前提交更改或将其暗藏。正在停止*/ 大家看到了吧,实际上Git曾经对咱们进行提醒了,不要间接切换分支,否则就给你写的代码笼罩掉。当然你能够add commit当前再切换,或者执行stash相干命令将其暗藏。 咱们能够执行命令git stash save "正文"将写了一半的代码暗藏起来,如下图: 也能够看STASHES中的详情 而后能够执行git status查看状态,发现工作树洁净了,能够切换分支了 而后咱们git checkout master,进行主分支代码批改,操作结束当前,再切回dev分支上,再执行git stash pop命令,将咱们刚刚暗藏在STASHES中的批改代码再弹出来即可持续欢快地写代码啦...,如下图: ...

February 17, 2023 · 1 min · jiezi

关于git:重磅边无际成立IoT-SIG共建openKylin社区物联网繁荣生态

2023年2月,经openKylin社区技术委员会审议通过,物联网特地兴趣小组—IoT SIG正式成立。IoT SIG由openKylin社区共建单位边无际(北京)科技有限公司旗下Shifu物联网开源开发社区发动成立,围绕边缘计算、AIoT为核心技术,为openKylin社区拓展物联网产业场景。01SIG指标实现openKylin社区中全场景设施托管与一体化软件开发的通明框架的设计,实现基于微服务架构的物联网开发模式,令设施能力模块可调用,可复用,实现通过配置文件轻松接入各种异构设施。02SIG职责满足爱好者在openKylin中通过Shifu物联网开发框架疾速实现物联设施接入与治理,疾速开发物联网场景。打造针对异构设施的对立标准化接口,实现物联网场景开发的效率晋升。实现基于微服务架构的物联网开发模式,令设施能力模块可调用,可复用;实现HTTP、MQTT、TCP Socket、RTSP、OPC UA等多协定接入物联网设施。打造云原生框架,实现高可用,动态域名,服务治理等性能,升高零碎运维的难度。03欢送退出SIGIoT SIG负责openKylin社区中面向服务器操作系统的物联网开发框架的搭建,赋能物联网场景的利用开发,为openKylin社区的生态拓展提供撑持,欢送各位小伙伴的退出!邮件列表iot@lists.openKylin.topSIG主页https://gitee.com/openKylin/c...openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 16, 2023 · 1 min · jiezi

关于git:git-怎么将一个-patch-文件打到一个目录下的所有git仓库

应用git am命令在一个目录下的所有 Git 仓库中打一个补丁文件。上面是大抵的步骤: 1 切换到每个仓库的根目录:cd /path/to/repo1 2 应用git am命令利用补丁:git am /path/to/patchfile.patch 3 反复以上步骤,直到每个仓库都利用了补丁。能够应用脚本来主动地实现这个过程,例如: #!/bin/bashPATCH_FILE="/path/to/patchfile.patch"ROOT_DIR="/path/to/repos"for dir in $(find $ROOT_DIR -name ".git" -type d | sed 's/\/.git//g'); do echo "Applying patch in $dir" cd $dir git am $PATCH_FILEdone这个脚本会遍历指定目录(即 /path/to/repos)下的所有 Git 仓库,并且在每个仓库中利用补丁。

February 14, 2023 · 1 min · jiezi

关于git:江波龙加入openKylin推动存储产品在openKylin操作系统上的适配优化

近日,深圳市江波龙电子股份有限公司(以下简称“江波龙”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。江波龙成立于 1999 年4月,次要从事 Flash 及DRAM 存储器的研发、设计和销售。公司聚焦存储产品和利用,造成固件算法开发、存储芯片测试、集成封装设计、存储产品定制等外围竞争力,提供生产级、工规级、车规级存储器以及行业存储软硬件利用解决方案。江波龙已造成嵌入式存储、固态硬盘 (SSD)、挪动存储及内存条四大产品线,领有行业类存储品牌FORESEE和国内高端消费类存储品牌Lexar(雷克沙)。公司存储器广泛应用于智能手机、智能电视、平板电脑、计算机、通信设施、可穿戴设施、物联网、安防监控、工业管制、汽车电子等行业以及集体挪动存储等畛域。在退出openKylin社区后,江波龙将携手社区独特发展基于存储产品的操作系统升级换代的驱动适配优化和研发工作,推动产业化过程;并解决要害软硬件兼容性问题,欠缺存储产品在openKylin操作系统上的适配优化,突出存储产品的性能劣势、功耗优化以及基于特定场景的优化等特点,独特推动单方生态及品牌建设。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://mp.weixin.qq.com/s/yk... 】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 14, 2023 · 1 min · jiezi

关于git:openKylin小程序问题反馈功能正式上线简直不要太友好

openKylin小程序上新啦~置信最近登陆过openKylin小程序的小伙伴曾经发现了咱们的小变动,没错!为了更高效的接管并解决用户反馈,openKylin小程序于本周正式上线问题反馈性能~如果您在参加社区或应用零碎过程中碰到问题,却不晓得如何反馈、或提交反馈后不晓得如何追踪反馈状态,查看问题是否已被解决。那么当初您能够通过openKylin小程序问题反馈性能,简略几步疾速提交反馈并跟踪状态,快来一起看看吧!01扫描下方二维码或微信搜寻openKylin进入openKylin小程序。02进入小程序首页,找到问题反馈模块。注:若用户首次进入须要先受权获取用户信息,能力回到首页。03点击问题反馈,进入提交页面,创立反馈。注:如果您曾经有Gitee账号,能够勾选“问题同步到Gitee”,通过受权登录您的Gitee账号同步把反馈上传到Gitee平台,社区记录您集体奉献的同时还能获取积分哦(3积分/次)。04实现提交后点击“我的”,在集体核心查看我的反馈,实时跟进解决进度。 END以上就是openKylin小程序问题反馈模块的残缺提交流程啦,是不是很简略呢。如果大家在参加openKylin的过程中遇到任何疑难,欢送随时返回openKylin小程序提交反馈。各位小伙伴快快口头起来吧~openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 13, 2023 · 1 min · jiezi

关于git:20个-Git-命令玩转版本控制

想要在团队中解决代码时无效合作并跟踪更改,版本控制施展着至关重要的作用。Git 是一个版本控制系统,能够帮忙开发人员跟踪订正、辨认文件版本,并在必要的时候复原旧版本。Git 对于有肯定编程教训的用户来说尽管不算太难,然而想要玩转一些高级性能也并不是件容易的事件。在这篇文章中,我将向你展现一些最实用的 Git 命令,手把手教你成为 Git 专家。  1. git configgit config 是你须要熟知的根本 Git 命令之一。该命令有助于设置电子邮件、用户名、文件格式、首选文件算法和许多其余属性的配置值。命令示例如下: # configure the user which will be used by Git# this should be not an acronym but your full name$ git config --global user.name "Firstname Lastname"# configure the email address$ git config --global user.email "your.email@example.org"  2. git initgit init 是最罕用的 Git 命令之一,用于适宜初始化 Git 仓库(创立新仓库)。.git 文件夹通常放弃暗藏状态,如果是 Windows,须要在查看中抉择“暗藏的我的项目”。对于 Linux,能够应用“ls –a”命令查看.git 目录。倡议任何人都不要篡改 .git 文件夹的内容。 $ git init <the name of your repository>  ...

February 13, 2023 · 2 min · jiezi

关于git:git-的安装以及如何将本地仓库上传至远程仓库

GitGit是一个开源的分布式版本控制系统,能够无效、高速地解决从很小到十分大的我的项目版本治理。也是Linus Torvalds为了帮忙治理Linux内核开发而开发的一个开放源码的版本控制软件。这篇文章次要介绍如何用git 将本地仓库内容上传至gitee近程仓库。gitee链接:https://gitee.com一、下载安装Git官网下载地址:https://git-scm.com/downloads我这里装置的是Windows的版本,我将它装置到了F盘。创立一个本地仓库(happyfan1),点击进入后单击右键(有的可能要摁住shift)抉择Git Bash Here在正式开始之前,先来看看Git上传到近程仓库的流程:图片起源https://www.runoob.com/git/gi... 1、git init 在终端输出 $ git init这时能够看到happyfan1文件夹中呈现了一个.git(这是个暗藏文件)文件,这个文件是Git来跟踪治理版本库的,这样这个happyfan1就是一个Git能够治理的本地仓库了(没事不要改变)。 2、git status将要放入本地仓库的文件搁置在happyfan1的目录下。在终端输出$ git status此时咱们就能看到还有哪些文件没有被放入暂存区(红色的局部) 3、git add咱们依据提醒将这些文件一一add进去之后,在执行一次$ git status这些绿色的就是曾经放入暂存区的文件。 4、git commit而后在终端执行$ git commit这样就将暂存区的内容正式增加到本地仓库中了。 5、git branch在终端中输出$ git branch 就能够查看本地的分支了。 6、git remote在终端输出 $ git remote 查看是否曾经建设桥梁如果没有则输出 $ git remote add origin(可变) html(gitee上本人仓库的地址) 7、git pushgit push <近程主机名> <本地分支名>:<近程分支名>在gitee上刷新一下就能看到本地仓库的内容曾经push到gitee的近程仓库啦!

February 12, 2023 · 1 min · jiezi

关于git:git中patch的用法

Git 的 patch 用法是指通过创立一个补丁文件来批改或提交 Git 仓库中的代码。 一个 patch 文件是一种文本文件,它记录了将要在仓库中执行的代码更改。您能够创立补丁文件并将其发送给其他人,或者通过从 patch 文件中利用代码更改来更新仓库。 应用 Git 的 patch 用法的一个常见办法是应用 "git format-patch" 命令,它将仓库中的一组提交创立为独自的补丁文件: git format-patch -1 <commit>其中 <commit> 是您心愿格式化为补丁的提交的哈希值,其中 -1 示意只打以后的这个 commit。 您也能够应用 git apply 命令来利用一个补丁文件: git apply --reject <patch-file>其中 <patch-file> 是您要利用的补丁文件的文件名,--reject 示意如果抵触将生成 rej 文件。 如果补丁文件中的更改与以后仓库的代码抵触,则可能须要手动解决抵触。您能够应用 "git am" 命令来主动合并补丁文件,然而这通常不是最佳做法,因为它可能会导致不可预期的后果。 补丁文件在邮件列表中的代码审核或在仓库间的代码共享方面十分有用。您能够发送补丁文件以申请代码审核,也能够将补丁文件作为一种办法来在两个不同的仓库间共享代码更改。 将暂存区保留为一个 patch 文件 git diff > xxx.patchGit 的 patch 用法是一种不便的办法,能够在 Git 仓库中轻松地分享和利用代码更改。

February 10, 2023 · 1 min · jiezi

关于git:重磅格兰菲加入社区GPU-SIG推进openKylin与格兰菲产品的兼容适配

近日,格兰菲智能科技有限公司(以下简称“格兰菲”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。在退出openKylin社区后,格兰菲正式退出社区GPU SIG,次要负责openKylin在显卡驱动兼容适配格兰菲显卡分支的相干工作,目前已初步实现了格兰菲显卡驱动与 openKylin零碎的适配工作,充沛开释了该平台下格兰菲显卡图形渲染、视频编解码等性能,晋升了openKylin相干产品的客户应用体验。后续,格兰菲将继续推动openKylin GPU SIG社区基于格兰菲平台的相干工作,包含:01兼容适配与openKylin增强技术单干、同步联调,让openKylin相干产品更快更好地兼容适配格兰菲全系列显卡。02性能调优在操作系统、应用软件等多个层面,一直开掘openKylin在格兰菲显卡平台上的性能后劲,晋升openKylin在格兰菲显卡平台的整体性能体现。格兰菲图形图像部门领有国内成立最早,体系最残缺的图形处理器设计及研发队伍,涵盖架构、前端设计、后端设计、系统工程、软件及测试等芯片设计的各个方面,梯队残缺健全。团队具备三十余年的研发教训,在3D渲染、通用计算、人工智能、视频编解码、图像处理、高清显示等畛域均有深厚的技术积攒,在国内处于领先地位。将来,凭借在高性能图形处理器的技术积攒,产业化利用教训,以及卓越的生态劣势,格兰菲将助力openKylin社区GPU SIG在各类利用场景下的翻新和开辟,为openKylin开源社区的翻新倒退、生态建设提供继续无力的反对。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://mp.weixin.qq.com/s/yk...】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 10, 2023 · 1 min · jiezi

关于git:git和TortoiseGit安装完成后在本地推送文件到github仓库报错的解决办法

首先第一点就是间接先装置git和小乌龟,装置实现当前应用Git Bash Here唤出控制台 记得先把C:\Users\xxx\.ssh文件夹下的文件全副清空而后在控制台里输出 $ git config --global user.name "runoob"$ git config --global user.email test@runoob.comuser.name是git提交时候的用户名 这个能够乱写上面user.email 是注册github的邮箱账号 邮箱不可乱填 而后在控制台输出ssh-keygen -t ed25519 -C "邮箱"留神,不要间接ssh-keygen -o了,因为github2020年3月开始就不反对rsa算法了,所以改用ed25519算法的秘钥,前面必须跟着双引号,外面填注册的邮箱 而后始终回车用户目录下就会多出这两个文件 而后关上puttygen软件(小乌龟自带) 点击Conversion中的import key 点击 save private key 保留名为xxx.ppk 而后关上pageant(小乌龟自带) 点击add key 把刚刚生成的ppk文件导入进去。 最初把生成的pub秘钥放到Github上,就能够失常在本地推送拉取远端的仓库啦

February 9, 2023 · 1 min · jiezi

关于git:小白课程openKylin文件管理器介绍

openKylin文件管理器作为一种提供用户界面管理文件的软件,能够帮忙用户解决日常工作,治理存储在本地和网络中的文件,同时还提供了一系列根底操作如重命名文件、创立文件、关上文件、查看文件、编辑文件、挪动文件和删除文件等。其中,openKylin文件管理器及相干软件包装置命令如下:$sudo apt install peony peony-extensions上面就带大家简略理解下openKylin文件管理器的构造与性能个性~一、openKylin文件管理器介绍1.文件管理器构造openKylin文件系统构造不同于Windows文件系统构造,没有盘符的概念(所谓盘符,即DOS、Windows零碎对于磁盘存储设备的标识符),openKylin操作系统抉择把所有文件都寄存在根目录中。2.文件管理器命令操作家喻户晓Linux命令能够用来理解零碎,但对于普通用户来说,如果一个零碎只能单纯地应用命令行来浏览操作文件目录或文件,并不是十分不便。以下是几种利用文件管理器浏览文件和命令行浏览文件的状况比照:进入家目录显示暗藏的文件夹和文件查问文件属性二、openKylin文件管理器性能个性介绍1.批量正反选日常应用中,常常会遇到须要同时抉择多个文件的状况,有时是间断的文件排列,有时是不间断的,那么当遇到以上状况时咱们该如何操作呢?(1)全选据大家所熟知,Windows零碎对于全选文件有着通用级的快捷键操作,那就是“Ctrl+A”。同样,openKylin也反对该操作。(2)批量正选当你须要在一个存有很多文件的文件夹中抉择局部间断文件时,“Ctrl+A”并不能满足要求。这时,你只须要找到开始地位的文件,选中该文件,按住Shift键,再选中完结地位的文件,此时便会发现,从开始地位到完结地位的所有文件都已选中。(3)批量反选当遇到所须要抉择的文件为多个不间断时,也不须要单个的进行选中,只需按住Ctrl键,顺次选中这些不须要的文件,而后通过鼠标将所有文件进行反选,此时,选中的就是你须要的多个不间断的文件。 2.疾速查找文件(1)最近应用如果你须要关上最近编辑应用过的文档,但它的具体门路又有些许简单,那么你能够应用“最近应用”这个性能来疾速的定位所需文件地位。零碎会基于你的文档应用记录排列最近关上的文档,并同时向你展现各文档的存储门路。(2)搜寻如果你须要找一个很久之前的文件,此时你能够通过搜寻文件名称的关键词,在搜寻后果中定位这个文件。3.复制文件门路如果你须要对文件门路进行记录,你只须要关上终端窗口,点击文件管理器窗口上端文件夹名称,右键抉择复制选项,随后在终端窗口进行粘贴,此时便可失去该文件的具体门路。以上就是本次openKylin文件管理器的根本介绍啦,心愿能对大家有所帮忙。目前,openKylin文件管理器依然在一直的欠缺更新中,大家在应用过程中如有任何倡议和需要,可返回openKylin Gitee仓库以Issue模式进行反馈。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 起源:邓好审核:openKylin

February 9, 2023 · 1 min · jiezi

关于git:openKylin实现国产X86平台支持成功适配兆芯海光

兆芯和海光作为openKylin(凋谢麒麟)社区共建搭档,在退出社区Kernel SIG后便发展了深刻技术对接,并于近期正式实现openKylin操作系统与兆芯KX-U6780A,兆芯KX-6000G和海光Hygon 3350等三款国产X86平台的适配测试工作,其适配相干成绩后续也将逐渐合并到openKylin版本中。 测试期间,openKylin操作系统在以上三款国产X86平台上整体运行稳固,性能、性能及兼容性方面体现良好。开先® KX-6000系列KX-U6780A型号处理器胜利适配openKylin操作系统开先® KX-6000G系列处理器胜利适配openKylin操作系统Hygon 3350处理器胜利适配openKylin操作系统开先® KX-6000系列CPU外围采纳超标量、多发射、乱序执行架构设计,兼容最新的x86指令集,可反对64位零碎,以及 CPU 硬件虚拟化技术。同时反对SM3/SM4国密算法,可提供基于硬件的数据加密爱护,满足多种市场的利用需要,次要面向高性能桌面、便携终端、嵌入式等市场应用领域。兆芯新一代开先® KX-6000G系列处理器,集成处理器外围、双通道DDR4内存控制器、高性能3D图形减速引擎、高清流媒体解码器与显示接口以及PCIe 3.0 、SATA、USB等高速IO接口,能够反对单芯片解决方案。非常适合一体机、笔记本、便携式终端以及物联网计算平台等兼顾高性能、低功耗需要的应用领域。海光3000系列处理器集成4-8外围,具备超线程个性,反对8-16线程,反对32路PCle通道,2个DDR4内存通道,单核最高减速频率达到3.3GHz;3000系列处理器满足可信计算、隐衷计算等平安畛域个性,芯片反对SM2/SM3/SM4国密算法,并提供硬件加速性能,3000系列芯片次要利用于入门级服务器、工作站、工业管制等市场,满足党政企业及关基行业的办公业务场景,基于海光终端处理器,海光也为各企业和业余人员提供高效解决方案。将来openKylin社区将继续与兆芯、海光发展深刻单干,一直优化和欠缺openKylin操作系统在国产X86平台上的利用体验,独特推动国产桌面操作系统的遍及和国产开源生态的打造,推动openKylin国产化生态布局进一步欠缺。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

February 8, 2023 · 1 min · jiezi

关于git:openKylin-095版本正式发布加速国产操作系统自主创新进程

 2023年1月12日,中国桌面操作系统根社区openKylin(凋谢麒麟)正式公布openKylin 0.9.5操作系统版本。此版本充沛适应5G时代需要,买通平板,PC等设施,实现多端交融,补救了国产操作系统的短板,无效推动国产操作系统自主翻新过程。 openKylin 0.9.5基于Linux 5.15内核构建,默认搭载全新一代UKUI 4.0桌面环境,深度优化平板模式,降级零碎互联互通性能,反对设施投屏、近程操控、疾速互传,为你带来不一样的互联体验。同时新增“分级解冻”机制,实现零碎利用分级管控,保障用户晦涩操作体验;并集成VirtIO-GPU硬件视频减速机制,大幅晋升零碎3D性能,提供晦涩图形显示成果。 此外,本次openKylin0.9.5版本全新解锁ARM架构,适配Raspberry Pi和COOL Pi开发板,满足用户多元场景需要;并默认集成全新改版的软件商店,修复260+零碎已知缺点,包含多端协同零碎端和手机端版本不统一无奈连贯、0.7版本升级到0.9版本后声音模块局部性能无奈失常应用等,进一步晋升零碎交互体验和稳定性。具体降级信息如下: UKUI 4.0桌面环境 全新一代UKUI 4.0桌面环境反对一键切换零碎主题,反对告诉核心全局手势唤出、动静快捷按钮、PC&平板切换等性能,反对唤出/暗藏动效,并深度优化平板模式,减少更多平板模式个性,如手势操作、触摸、竖屏显示等,为你带来簇新体验。 “分级解冻”机制 “分级解冻”是openKylin社区专门设计和开发的一套利用过程生命周期管理机制,通过对处于不同状态的利用进行“分级”解决,以某种非凡形式“解冻”用户未操作利用,从而开释系统资源(如CPU、磁盘I/O、内存等),优先保障用户以后操作利用的资源分配,晋升用户体验。 VirtIO-GPU硬件视频减速机制 为解决虚拟机中播放高清视频时CPU占用率过高、视频卡顿掉帧等问题,openKylin社区Virtualization SIG组开创性地为VirtIO-GPU开发了一套采纳前后端架构的硬件视频编解码减速机制,大幅晋升虚拟机场景下的应用体验。 多架构反对 除X86架构外,本次0.9.5版本全新解锁ARM架构,官网适配Raspberry Pi和Cool Pi开发板,反对树莓派软硬一体的开发模式,突破开发边界,挖掘有限可能。同时实现RISC-V架构平头哥曳影1520开发板适配,满足用户多元场景需要。 软件商店全新改版 软件商店UI格调全新改版,界面更简洁好看、利用分类更清晰、同步更不便,并减少openKylin ID登录反对,全面晋升用户视觉体验和操作体验。 装置形式 1.返回openKylin官网下载全新装置: https://www.openkylin.top/dow... 2.已装置openKylin 0.9版本的用户通过以下形式降级: $ sudo apt update $ sudo apt upgrade openKylin作为由麒麟软件主导发动的桌面操作系统根社区,疾速汇集行业中坚力量,独特推动操作系统技术创新和生态共建,正式迈入“根力量”高速发展期。自2022年6月成立以来,openKylin便受到社会的宽泛关注,吸引了大量企业、组织和开发者退出。截至目前,openKylin社区单位会员已冲破140家,社区用户数量超 25万,社区贡献者近 2000 人,并成立 57 个社区SIG组发展各类技术钻研和翻新。

January 31, 2023 · 1 min · jiezi

关于git:gitlab-合并请求

Git 以及基于 Git 的各代码开发合作平台,比方 Github, Gitlab, Bitbucket, TFS Git 等正逐步成为首选的代码版本管理工具,而基于 Git 的根本开发流程则是开发者创立集体的公有分支并在集体的公有分支上提交代码,代码实现后创立合并申请(pull/merge request)到主分支让相干人员做代码评审,评审通过后将合并申请(pull/merge request)合并到主分支上。用一句话总结就是:你收到一个工作后,在团队分支的根底上创立一个集体分支并在这个分支上开发,实现后将代码推送到近程,并发动申请合并申请,行将集体分支合并到团队分支上,由团队负责人审核该分支的代码并决定是否合并到团队分支上。 从上述总结咱们能够看出,合并申请的作用之一是代码审查,团队负责人对每个我的项目参与者的代码进行初步审查后,再决定合并与否,肯定水平上能够缩小 bug 的数量,尤其是审查老手或者说不太懂 git 的程序员的代码。 下面只是陈说性地阐明了什么是合并申请以及合并申请的作用,上面将通过菜鸟犯过的谬误来直观地感触合并申请的重要性。 菜鸟犯的两个谬误菜鸟小明和巨匠老白共同开发一个我的项目,一人负责我的项目的一半。小明菜,先一步开发,实现一个模块后就把代码推送到 dev 分支上。老白经验丰富,拉取、开发、推送天然不在话下。到这里,所有都还失常,因为是小明先推送代码。第二天小明从 dev 分支上拉取代码时,问题就呈现了。因为小明负责模块的路由和老白负责模块的路由写在同一个文件中,所以小明在第二次拉取代码的时候,近程的路由文件和本地的路由文件起了抵触,须要手动合并。菜鸟小明在解决抵触时,不太懂 Accept Current Change 和 Accept Incoming Change 的含意,就凭感觉点了一个选项(事实证明是错的),实现一天的开发后就把代码推送到了 dev 分支上。而这时菜鸟小明还没有意识到本人犯了错——把老白写的路由都删了。这是菜鸟小明犯的第一个谬误。 菜鸟小明犯的第二个谬误就是把另外一个模块的同名文件改了。小明负责的某个模块的某个性能与我的项目中另外一个模块的性能十分相似,图省事,就创立了一个相似的文件,取了一样的文件名。小明习惯用 ctrl + g 这个快捷键跳转文件,有可能是累了,有可能是午休没睡醒加上那段时间状态不太好,恍惚间误改了另一个模块的文件,导致呈现了很重大的问题。 置信你能够感触到,如果让菜鸟小明去合并团队的代码,问题将会是无穷无尽的。事实上,老白发现小明删除了他写的路由后就让小明提交合并申请而非间接把代码推送到 dev 分支上。菜鸟小明听到“合并申请”时一头雾水,尽管他在网上找到了一篇十分具体地介绍“合并申请”的博客——保姆级教程 | Merge Request 分支合并申请,然而实际操作起来还是差点意思,最初还是在老白的帮忙下,菜鸟小明才搞明确了合并申请的流程。 流程以在一个我的项目中减少一个新性能 A 为例: 切换到本地的 dev 分支,并将近程的 dev 分支拉取到本地;在本地 dev 分支上新建一个分支 feat_A,并切换到该分支上;在 feat_A 分支上进行开发;进行开发并提交你的代码;将 feat_A 分支推送到近程;找到并点击 merge_request 按钮,抉择好对应的参数,点击合并;期待审核后果,如果审核通过,就将近程和本地的 feat_A 分支删除;如果新的工作来了,就反复以上步骤。4、5 步骤在理论的开发中可能会反复执行,直到一个残缺的性能开发实现。 详情参考 保姆级教程 | Merge Request 分支合并申请 ...

January 31, 2023 · 1 min · jiezi

关于git:批量拉取git-pull-指定文件夹下面所有-Git-项目的最新代码

背景因为工作须要,以后所负责的我的项目较多;然而人力紧缺,其中绝大部分我的项目平时也不会去跟进迭代。所以常常须要批量拉取最新的代码查看最新的改变。 解决方案一键批量拉取指定文件夹下所有 Git 我的项目的最新代码,批量执行文件下载地址: https://github.com/mazeyqian/go-gin-gee/releases/tag/v1.1.0 Example 1: MacOS batch-git-pull.sh #!/bin/bash./batch-git-pull-mac-darwin-amd64 -path="/Users/X/Web"Output: 2023/01/24 23:01:36 Git pull...2023/01/24 23:01:36 projectPath: /Users/X/Web2023/01/24 23:01:36 assignedProjects: .2023/01/24 23:01:42 result: - - begin - -......- - end - - - - - - - - - - - - - - - - -Example 2: Linux batch-git-pull.sh #!/bin/bashchmod u+x ./batch-git-pull-linux-amd64./batch-git-pull-linux-amd64 -path="/Users/X/Web" -projects="go-gin-gee|mazey"Output: 2023/01/24 23:12:02 Git pull...2023/01/24 23:12:02 projectPath: /Users/X/Web2023/01/24 23:12:02 assignedProjects: go-gin-gee|mazey2023/01/24 23:12:06 result: - - begin - -......- - end - - - - - - - - - - - - - - - - -参数阐明path必填,我的项目文件夹,将批量拉取此文件夹上面的所有 Git 我的项目最新代码projects可选,指定项目名称,多个以 `` 分隔版权申明 ...

January 25, 2023 · 1 min · jiezi

关于git:Git操作不规范战友提刀来相见

年终奖都没了,还要扣我绩效,门都没有,哈哈。这波骚Git操作我也是第一次用,放心闪了腰,所以不仅做了备份,也做了笔记,分享给大家。 问题形容小A和我在同时开发一个功能模块,他在优化之前的代码逻辑,我在开发新性能。 小A在我之前把代码提交到了测试分支,我想提交我的新性能代码到测试分支时发现巨多抵触,脑袋霎时就炸了,Boom一声惊雷响啊。 PS:因为小A的需要不急,然而改变微小;我的需要很急,马上要提测,否则就延期扣绩效了,说真的,我焦急了,哈哈哈。 剖析一下首先解决抵触浪费时间,我的新性能代码每次提测到测试分支都须要解决抵触。我在测试分支解决抵触,只能依照小A优化后的代码逻辑的去解决,和我本人的分支逻辑并不统一。交付给测试同学的测试分支代码,和我本人分支的代码不统一,这种测试是没有意义的。反思出问题的起因工厂模式应用的不合理任务分配的不合理代码层面TIPS:以下代码示例语言为Go 因为是工厂设计模式,我负责的实现类A和他的实现类B尽管没有间接关系。然而因为他批改了工厂类中的办法定义。 比方之前工厂类中的接口是这么定义的 package factorytype xxx interface { GetXxxx(ctx context.Context, req aaa.aa) (res bbb.bb, err error) }然而小A优化(批改)了工厂类中的接口定义: package factorytype xxx interface { GetXxxx(ctx context.Context, req ccc.cc) (res ddd.dd, err error) }这样就导致了一个问题: 我想合并我的代码到测试分支也必须将我的实现类像小A一样,批改传参类型和返回类型。 然而咱们都在不同的分支上开发,我是没有他定义的类型ccc.cc,ddd.dd的。 我又不能间接把他定义的ccc.cc,ddd.dd要过去,在我本人的分支上开发,一是因为需要不统一,小A的上线周期会比我长;二是这种操作自身就不标准。 解决问题1.代码层面:咱们想到的计划是正当应用interface 工厂类中办法的入参和出参设置为interface{}类型 package factorytype xxx interface { GetXxxx(ctx context.Context, req interface{}) (res interface{}, err error) }这样就比拟容易进行扩大了。 2.Git层面:办法1的入参和出参设置为interface{}类型的计划,并没有从根本上解决咱们的问题。 起因是这样的: 小A的需要是整体优化工厂类和各个实现类的入参、出参,优化外部逻辑,抽取办法。 小A的迭代优化批改变动很大,导致和我实现的新需要有比拟大的抵触。 然而他的Git分支又在我之前提交到了测试环境,导致我无奈失常提交我的代码。 如果我要提交就要解决各种抵触,解决抵触就要依照小A的优化逻辑去改,提测分支和我本人分支的不统一,难顶啊。 思考到小A的批改临时不须要提测,上线周期也比拟长。 最终计划:最终的解决方案是这样的: 从近程的测试分支拉取了一个备份分支,删除小A提交的近程测试分支把我本地须要测试的分支提交到测试分支,交付测试(因为我的需要很急,而小A的需要并不急)相干命令这波骚操作我也是第一次用,放心闪了腰,所以不仅做了备份,也做了笔记,分享给大家: Git 重命名近程分支1.先重命名本地分支 git branch -m 旧分支名称 新分支名称2.删除近程分支 ...

January 10, 2023 · 1 min · jiezi

关于git:华云数据加入openKylin为社区发展贡献自主创新云力量

近日,华云数据控股集团有限公司(以下简称“华云数据”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。自2010 年成立至今,华云数据粗浅把握时代脉搏,以做数字化转型背地的力量为愿景,历经十余年自主研发与深耕开辟,将赋能产业倒退作为使命担当,成为中国云计算和信息化改革中最早一批规范制定者、以科技硬实力驱动换道引领最中坚的翻新守护者、助力生态搭档实现数字化转型最牢靠的同行者。华云数据为用户打造了“全芯全栈”自主翻新云平台、超交融解决方案、私有云平台、工业互联网平台以及智能办公平台等解决方案,推动政府、企业数字化转型,区域信息化能力晋升和中国数字经济整体倒退。在退出openKylin社区后,华云数据将同社区积极开展单干,参加社区经营流动,并定期针对社区我的项目、问题进行跟踪,为openKylin社区的凋敝倒退奉献自主翻新“云力量”。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://mp.weixin.qq.com/s/yk... 】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

December 30, 2022 · 1 min · jiezi

关于git:使用https协议git-push指令报错如何解决

遇到问题:应用指令git push报错,如下: remote: Support for password authentication was removed on August 13, 2021.remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.fatal: Authentication failed for 'https://github.com/wanghuiwiki/shop.git/'解决办法: fatal提醒参考:https://docs.github.com/en/ge... github docs 文档中形容说当Git提醒你输出明码时,请输出你的personal access token ➥创立 personal access token 而后再次尝试git push指令;依据弹框输出用户名和刚保留的token;举例:我这里是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如果看到如下成果(没有fail谬误),则表明提交胜利.[验证]此时能够察看浏览器,刷新线上仓库的地址;

December 29, 2022 · 1 min · jiezi

关于git:小白课程openKylin系统音频大体框架介绍

在桌面操作系统中,音频是至关重要的一环,音频的稳固反对间接决定了用户的听感以及应用体验,明天咱们就给大家介绍openKylin桌面操作系统背地对于音频的那些故事。先看一张框架图,这张图大抵介绍了openKylin操作系统音频的框架组成,档次从下往上顺次递增:01框架各层次关系在UKUI桌面环境中,声音(ukui-media)次要用来控制系统的输入输出音量。ukui-media应用pulseaudio-lib 和 alsa-lib库来获取一系列的输入输出设施,以及管制相应输入输出设施的音量。openKylin零碎应用pulseaudio声音服务器来作为操作系统和alsa的通信媒介,pulseaudio声音服务器介于应用程序和声卡驱动之间。当不同的利用调用声音服务器的API来播放声音时,它们把音频数据送到服务器, 服务器将一个以上的播放申请混音后,再发送给底层的声卡驱动(ALSA或OSS)。由ALSA或OSS来驱动声卡播放混音后的数据。02各层次具体介绍1、ukui-mediaukui-media的界面如下图所示,其能够对系统声音进行图形化管制。声音托盘中会显示可用的输出设备,点开“声音设置”字样,咱们会进入更全面的声音设置界面。其性能有:1、能够抉择可用的输入输出设施2、扭转可用的输入输出设施音量3、输出设备声道均衡性能4、输出设施降噪性能5、设置对应零碎性能的提示音音效对于以上性能的实现,其中的底层逻辑就波及到接下来要讲的 pulseaudio 层。2、PulseAudio层ukui-media 的实现,其次要是调用了 pulseaudio-lib 库。PulseAudio是一个声音服务器,也是一个后盾过程,其从一个或多个音源(过程或输出设施)承受声音输出,而后重定向到一个或多个槽(声卡,网络音频反对,或其余过程)。其次要性能有:1、可对每一个应用程序进行音量控制2、可扩大的插件与反对可装载模块架构3、兼容性许多风行的音频应用程序4、反对多重音源和多重输入5、低延时操作和反对提早测量6、一个对处理器资源效率零拷贝内存架构7、可能发现本地网络上应用PulseAudio的其余计算机并通过其扬声器间接播放声音8、可能扭转一个应用程序的声音输出设备,就算这个应用程序在播放声音(程序不须要反对这个性,而事实上,程序甚至没有意识到扭转)9、带有脚本性能的命令行界面10、一个功能完善且带有命令行重新配置性能的守护过程11、内置采样转换和重采样性能12、可能合并多块声卡成一个声卡13、可能同步播放多个音频流14、动静检测蓝牙音频设备15、使全零碎平衡的能力在前文有提到,pulseaudio声音服务器介于应用程序和声卡驱动之间,意思是pulseaudio并不是最底层的实现,他是在调用alsa-lib的根底上增加了更丰盛的性能,然而其底层实现还是离不开 alsa-lib。3、ALSA层从前文可知,真正驱动底层硬件的是ALSA,ALSA是目前Linux支流的音频体系架构,全称(Advanced Linux Sound Architecture, 高级linux音频架构)。如果说PulseAudio是用户级的混音器(mixer),它间接治理你的声卡,那么ALSA就是内核级混音器。在运行时,PulseAudio应用ALSA提供的驱动,治理各种混合、设施、网络音频反对等波及音频的服务。说到ALSA,咱们就不得不先提到OSS(Open Sound System),这是unix平台上一个对立的音频接口。此前,每个Unix厂商都会提供一个本人专有的API,用来解决音频。这就意味着为一种Unix平台编写的音频解决应用程序,在移植到另外一种Unix平台上时,必须要重写。不仅如此,在一种平台上具备的性能,可能在另外一个平台上无奈实现。然而,OSS呈现当前状况就大不一样了,只有音频解决应用程序依照OSS的API来编写,那么在移植到另外一个平台时,只须要从新编译即可。因而,OSS提供了源代码级的可移植性。ALSA能够看成是OSS的继任者,然而ALSA却没有齐全解脱OSS的影子,ALSA的兼容层是蕴含OSS的,ALSA反对旧版本的OSS API 接口,能为大多数的OSS应用程序提供兼容,ALSA也因为其透明性、高效性、灵活性,以及了兼容性,使之成为了Linux音频系统的规范,也成为了简直其余所有的音频架构和硬件通信的桥梁。03框架实现计划联合以上,openKylin桌面零碎对于声音的框架计划就清晰了:用户层,应用ukui-media给用户提供方便的可视化图形控制界面性能层:应用pulseaudio来实现丰盛的性能驱动层:调用alsa-lib 来高效实现底层驱动如下图所示:举个例子,针对于一个残缺的调节音量过程大抵是这样,用户应用面板上的音量调节工具调节音量时,实际上调节的是个虚构设施,用户调节PulseAudio的虚构设施,PulseAudio调节ALSA,ALSA调节完底层硬件后,反馈给PulseAudio,PulseAudio再反馈给虚构设施,按原路返回。大抵流程如下图所示:04具体性能实现举例1、可用端口搜查可用端口的实现,首先须要将所有声卡中能进行输入的端口列出来,而后对所有的端口进行辨认判断其可用性。实现可用端口的益处:可能将声卡中辨认到所有的可用端口都显示进去,有的声卡有多个可用的输入端口,只是在不同的profile中,这样用户能更简洁到看到声卡反对的输入输出设施,如下图所示:2、默认输入输出设施逻辑每当零碎的输入输出端口扭转时,则有可能会更改默认的输出/输出设备,如右图所示设置默认的输出设备如下图所示:因而,咱们设置了一个不同设施的优先级,即如果有多个可抉择设施存在的状况,咱们会优先选择优先级高的设施作为默认设施,大抵实现流程如下:明天的解说到这就完结啦~通过后面的解说,大抵介绍了openKylin零碎对于声音这一部分的次要框架逻辑,其应用了ukui-media给用户提供了图形化界面,联合pulseaudio对于各性能的实现,附加上alsa对底层硬件的高效率解决,其体验成果能使音频完满出现且稳固运行,前期咱们也会进一步欠缺其性能,欢送感兴趣的小伙伴来与咱们进行更深刻的探讨~openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 起源:封昭祥 审核:openKylin

December 29, 2022 · 1 min · jiezi

关于git:将git仓库从submodule转换为subtree

三个脚本Alexander Mikhailiancat .gitmodules |while read ido if [[ $i == \[submodule* ]]; then mpath=$(echo $i | cut -d\" -f2) read i; read i; murl=$(echo $i|cut -d\ -f3) mcommit=`eval "git submodule status ${mpath} |cut -d\ -f2"` mname=$(basename $mpath) echo -e "$name\t$mpath\t$murl\t$mcommit" git submodule deinit $mpath git rm -r --cached $mpath rm -rf $mpath git remote add $mname $murl git fetch $mname git branch _$mname $mcommit git read-tree --prefix=$mpath/ -u _$mnamefidonegit rm .gitmodulesWarning: ...

December 28, 2022 · 3 min · jiezi

关于git:特性分支-VS-特性开关哪个是最合适的工具

起源:DevOps.com 作者:Pete Hodgson 译者:小江 英文原文链接:https://devops.com/feature-branching-vs-feature-flags-whats-right-tool-job/ 软件开发团队的代码分支管理策略会对其公布高质量软件的速度产生重大影响,这篇文章咱们将探讨在同一代码库中实现多个并行开发工作流的几种不同办法的利弊。咱们将看到两个次要的因素:合并代码抵触的老本以及独立公布性能的能力通常是无奈兼得的,但个性开关为咱们提供了一种解决这种矛盾思路。 一、代码合并抵触问题新产品开始时代码库还比拟小,通常只有少数几个开发人员在开发,这种状况下不须要太多的正式开发流程标准。然而,即便一个团队只有两个开发人员,在同一时间解决雷同的文件时仍须要尽量避免合并抵触。 只管大家致力防止工作内容相互影响,但看起来息息相关的工作分支,常常还是会批改到同一个文件。有时,正是这些意外的合并抵触会造成微小的苦楚 -- 任何一个资深的iOS开发者想必都经验过合并第三方 XIB 文件的抵触问题。在这篇文章中,咱们将探讨一些不同的办法来解决多个开发人员在同一代码库中工作时造成合并抵触的挑战。 有些人可能会说,当初的合并抵触并不是什么大问题,应用古代的版本管理工具,例如Git,根本都能解决,这是一种现实状态。古代版本管理工具的确让创立分支变得非常简略,但并不总是能使合并这些分支内的并行开发代码变得简略。Git 有一些弱小的性能,在可能的状况下主动合并代码,但 Git 不能解决所有合并问题。如果并行批改影响到了大型的 XML 文件、或 XIB、IDE 工程文件,Git 是无奈自动化解决这些合并抵触问题。 最重要的是,Git 无奈主动解决代码语义抵触。例如,在一个分支中,Alice 重新命名了一个办法,而在另一个分支中,Bob 减少了该办法的一个新调用。当这两个分支合并时,Git 就无奈辨认出 Bob 的分支正在调用一个应用旧名称的办法, 而 Bob 的代码正在调用一个曾经不存在的办法。事实上,Git 不会给 Alice 或 Bob 任何提醒,因为这些语义抵触是咱们目前的工具无奈检测的。 咱们只有在尝试编译合并后的代码库时才会发现语义抵触,而且这只是其中的一个问题。如果代码是动静类型的语言,例如 javascript,那么咱们可能直到用户开始报告线上的应用程序解体时才会被发现。 当变更的老本越来越高时,在零碎中进行一些小优化投入产出比就会升高。这引入了一个奥妙的阻力,随着工夫的推移,对代码库的外部品质不利。更重要的是,可能逐步改善代码库或阻止其逐步进化的那种小而宽泛的重构,正是会常常导致合并抵触的那种变更。在我看来,这是基于分支开发的真正隐性老本--它克制了那种 "童子军军规 "的改良,而这种改良能够避免代码库的某些区域逐步进化为禁区。(童子军军规:永远把露营地弄得比你达到时还要洁净,指随时解决和优化手中的问题) 因而,在介绍了合并抵触会引起的问题后,上面让咱们看看如何防止合并抵触。 二、在骨干上同步批改代码一个刚开始开发新利用的小团队,最后可能会试图通过让所有开发人员频繁地推送变更到共享的骨干分支来升高产生大的意外合并抵触的危险,这是继续集成的外围准则之一。当每个人都在共享的骨干分支中频繁地同步他们的批改时,意外的合并抵触能够在晚期时裸露进去并解决掉。 可怜的是,让多个工作落在一个共享的骨干分支上,会有一个很大的问题。如果任何一个工作没有筹备好公布,那么共享分支上的任何货色都不能被公布。让咱们用一个假想的例子来看看为什么。 Alice 和 Bob 是挪动应用程序的两个开发人员,他们有两个正在进行的工作。Bob 正在对用户偏好的工作形式进行大修,而 Alice 正在实现一个要害的新性能,大老板规定必须在本周末前将其推送到利用商店。这个团队通过频繁地在骨干提交代码来避免出现大的合并抵触。 到了周四,Alice正在完结她的工作同时也开始做功能测试。在对应用程序进行个别的测试时,她留神到用户偏好模块存在闪退景象,便问 Bob 是否晓得是什么起因导致的。Bob 解释说,他正对这个模块进行重构,重构工夫可能会比预期工夫长一些,在实现前可能会存在 bug。但 Alice 的新性能本周又必须上线。通过了两天漫长的工夫,Bob 和 Alice 终于一起回滚了 Bob 的更改,因为其中一些更改曾经与 Alice 的新性能的批改纠缠在一起了。最终他们赶上了周六在产品商店上架,防止了一场危机。 下面的例子能够看到,因为 Alice 和 Bob 在一个共享分支上提交代码,他们本来互相独立的开发工作相互耦合在了一起。Alice 无奈漠视 Bob 的工作而独立公布本人的变更,Bob 也是如此。这是在共享分支上工作的一个大问题,好在前面咱们会介绍一些办法能够缓解这种状况。 ...

December 22, 2022 · 1 min · jiezi

关于git:金泰克加入openKylin携手共建繁荣生态

近日,深圳市金泰克半导体有限公司(以下简称“金泰克”)签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。金泰克作为国家高新技术企业,专一数据存储畛域多年,是一家集研发、生产和自主品牌产品营销于一体的业余存储计划提供商。公司领有存储全产品链,产品涵盖生产级、工业管制级、企业级和嵌入式存储产品等,公司亦可针对细分市场和特定利用场景提供定制化的数据存储解决方案。迄今,金泰克已累计取得200余项自主知识产权,其中实审及受权发明专利50余项,涵盖我司产品研发、制作及品控的各个环节,逐步形成具备半导体数据存储产品设计、定制化固件开发、晶元及封装测试、模组制作、产品兼容性及适配性检测、自主品牌销售体系于一体的独特综合竞争劣势。在退出openKylin社区后,金泰克将秉承团结、业余、翻新、分享的精力,积极参与社区单干,携手打造技术一流、凋谢自在的国内出名开源桌面操作系统根社区,共建openKylin社区凋敝生态。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【开源聚力,共创将来 | openKylin(凋谢麒麟)社区会员招募炽热进行中!】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

December 20, 2022 · 1 min · jiezi

关于git:git-cherrypick-同步修改到另一个分支

咱们在开发中有时会遇到,须要将另一个分支局部批改同步到以后分支。如下图,想把 devA 分支中 commit E 和 F,同步到上面绿色的 devB 分支中。 这时候就能够应用 git cherry-pick 来实现这项工作。(cherry-pick 有筛选、精选的意思) 一、根本用法转移单个提交 git cherry-pick <commitHash># 切换到 devB 分支$ git checkout devB# Cherry pick 操作$ git cherry-pick <HashE>解决抵触后,commit 即可 二、转移多个提交如果我有一堆间断的 commit 都想同步过来,那么能够用上面的语法:上面的命令能够转移从 E 到 F 的所有 commit。 留神按程序写:提交 E 必须早于提交 F git cherry-pick <HashE>..<HashF>还要留神下面命令是左闭右开的,即不蕴含 commit_E,如果须要两边都包含,用上面的语法: git cherry-pick <HashE>^..<HashF>如果是离开的几个 commit,能够这样写: git cherry-pick <HashE> <HashG>三、参数文档中是这样写的: usage: git cherry-pick [<options>] <commit-ish>... or: git cherry-pick <subcommand> --quit end revert or cherry-pick sequence --continue resume revert or cherry-pick sequence --abort cancel revert or cherry-pick sequence --skip skip current commit and continue --cleanup <mode> how to strip spaces and #comments from message -n, --no-commit don't automatically commit -e, --edit edit the commit message -s, --signoff add a Signed-off-by trailer -m, --mainline <parent-number> select mainline parent --rerere-autoupdate update the index with reused conflict resolution if possible --strategy <strategy> merge strategy -X, --strategy-option <option> option for merge strategy -S, --gpg-sign[=<key-id>] GPG sign commit -x append commit name --ff allow fast-forward --allow-empty preserve initially empty commits --allow-empty-message allow commits with empty messages --keep-redundant-commits keep redundant, empty commits提几个会用失去的:1)-n 如果你想转移多个 commit 并在新分支中只想有一个 commit,那就能够增加 -n 参数,不主动提交代码,都转移后一次性手动提交。(留神如果有 conflict 状况就不是很好用)(为了分辨是从其余分支转移过去的,能够新开一个分支同步这些 commit,而后再 merge 到指标分支) ...

December 20, 2022 · 1 min · jiezi

关于git:Y-分钟速成-Git

源代码下载: git Git 是一个分布式版本控制及源代码管理工具。 Git 能够为你的我的项目保留若干快照,以此来对整个我的项目进行版本治理。 版本什么是版本控制版本控制系统就是依据工夫来记录一个或多个文件的更改状况的零碎。 集中式版本控制 VS 分布式版本控制集中式版本控制的次要性能为同步,跟踪以及备份文件;分布式版本控制则更重视共享更改,每一次更改都有惟一的标识;分布式系统没有预约的构造,你也能够用 git 很轻松的实现 SVN 格调的集中式系统控制。更多信息 为什么要应用 Git能够离线工作和别人协同工作变得简略分支很轻松合并很容易Git 零碎速度快,也很灵便Git 架构版本库一系列文件,目录,历史记录,提交记录和头指针。能够把它视作每个源代码文件都带有历史记录属性数据结构。 一个 Git 版本库包含一个 .git 目录和其工作目录。 .git 目录(版本库的一部分).git 目录蕴含所有的配置、日志、分支信息、头指针等。具体列表 工作目录 (版本库的一部分)版本库中的目录和文件,能够看做就是你工作时的目录。 索引(.git 目录)索引就是 git 中的 staging 区,能够算作是把你的工作目录与 Git 版本库宰割开的一层,这使得开发者可能更灵便的决定要将要在版本库中增加什么内容。 提交一个 git 提交就是一组更改或者对工作目录操作的快照,比方你增加了 5 个文件,删除了 2 个文件,那么这些变动就会被写入一个提交中,而这个提交之后也能够被决定是否推送到另一个版本库中。 分支分支其实就是一个指向你最初一次的提交的指针,当你提交时,这个指针就会主动指向最新的提交。 头指针 与 头(.git 文件夹的作用)头指针是一个指向以后分支的指针,一个版本库只有一个以后流动的头指针,而头则能够指向版本库中任意一个提交,每个版本库也能够有多个头。 其余形象化解释给计算机科学家的解释给设计师的解释命令初始化创立一个新的 git 版本库,这个版本库的配置、存储等信息会被保留到 .git 文件夹中。 $ git init配置更改设置,能够是版本库的设置,也能够是零碎的或全局的。 # 输入、设置根本的全局变量$ git config --global user.email$ git config --global user.name$ git config --global user.email "MyEmail@Zoho.com"$ git config --global user.name "My Name"对于git的更多设置 ...

December 17, 2022 · 2 min · jiezi

关于git:升腾威讯加入openKylin提供桌面云解决方案助力社区发展

近日,福建升腾资讯有限公司签订openKylin社区CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。福建升腾资讯有限公司是福建省电子信息团体的外围上司公司,亚太地区当先的桌面云终端、瘦客户机、信创整机、信创云、桌面云整体解决方案供应商,智慧营业厅总体解决方案供应商,云领取整体解决方案提供商。福建升腾资讯有限公司在瘦客户机、桌面云、领取终端、智能终端畛域领有多项国内外领先水平的核心技术。截至2021 年,升腾资讯已取得专利受权 199 项,其中发明专利 93 项。与中科院单干的“面向高平安行业实用计算机研制及推广”我的项目,入围国家核高基重大专项。其产品和计划广泛应用于金融 、政府、能源、保险、通信、教育、企业等畛域的信息化建设,受到行业客户的宽泛认可。升腾公司始终秉承“交朋友,建生态,共成长”的生态单干理念,在退出openKylin社区后,将充分发挥本身技术教训,积极参与社区经营流动,独特构建一个凋谢、丰盛的软硬件生态体系,赋能合作伙伴,助力openKylin生态一直凋敝倒退。升腾威讯作为桌面云业务品牌,是最早在信创畛域布局的厂商,是信创行业引领者和赋能者,围绕信创整机制作,自主翻新桌面云软件,打出信创软硬实力联合的“组合拳”,造成党政信开办公、金融信开办公、企业信开办公等深度交融信创行业场景的整体解决方案,解决信创代替场景中利用迁徙、设施治理、数据安全等难题,为客户提供牢靠、平安、高效的信创整机产品及信创云解决方案,打赢要害核心技术攻坚战。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://mp.weixin.qq.com/s/yk...】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

December 14, 2022 · 1 min · jiezi

关于git:小白课程openKylin-U盘启动器介绍

openKylin U盘启动器是一款用于制作系统启动U盘的工具,可将镜像文件制作成U盘模式的装置介质,不便无光驱介质的电脑装置镜像文件。其次要性能是制作零碎,不便零碎的装置,具体的实现过程如下:1、查看U盘openKylin U盘启动器通过udiskPlugWatcherInit函数主动监控/dev/目录下的文件变更,一旦有新设施U盘插入就从新执行lsblk解析shell的执行后果,获取出U盘信息。U盘信息的解析过程是别离执行了lsblk-J 和lsblk-JS,筛选出所有USB协定连贯的硬盘。其中lsblk-J中的J参数是将后果以json类型来展现,之后通过QJson类提取出U盘的信息。因为波及到格式化整个物理设施,因而U盘在展现时是以整个物理单位展现,而不是依照分区显示。显示的具体格局为:U盘型号(设施文件门路),容量。例如:DataTraveler_3.0(/dev/sda) 32G。如果插入多个U盘,则是在下拉框中显示,且依照插入程序进行显示。如下图1所示:图1.U盘启动器首界面2、查找镜像查找镜像有两种形式,第一种是点击图1中的加号按钮查找镜像,点击后进入图2界面,此界面的原理是:通过应用QFileDialog::getOpenFileName()的形式,关上文件选取框,之后通过调用QFile的open函数,read函数获取尾缀为.iso的镜像文件,且计算iso.size()的形式取得文件的字节大小,之后通过除以10的6次方的形式转为GB。图2.抉择镜像文件第二种获取镜像文件形式,便是在文件中选取尾缀为.iso的镜像文件,而后拖拽到关上的U盘启动器界面,这种形式的原理是将镜像文件的门路通过传值的形式,传输到界面。当然也用到了拖拽函数dragEnterEvent(),dropEvent(),这两个函数个别成对呈现。此外,如果曾经领有镜像文件,则能够点击右键抉择U盘启动器间接进行镜像文件的制作,这种形式的原理相似第二种。3、受权校验明码当咱们点击开始制作按钮后,零碎将调用dbus接口,跳转到受权校验界面,用户输出明码受权,执行"echo'" + 明码+"'| sudo -S -l"判断用户输出的明码是否正确,如图3。图3.受权界面4、制作镜像制作开始前卸载u盘,点击开始制作按钮,通过makeStart函数,将受权的正确明码、镜像文件的门路,u盘的门路这三个参数传输到过程中。具体函数如下:makeStart(authDialog->dialogKey->text(),isoPath,comboUdisk->getDiskPath());之后应用QProcess过程的读写函数来读入dd命令,具体的读写函数语句为:"echo'"+key.toLocal8Bit()+"'| sudo -S dd if='"+sourcePath.toLocal8Bit()+"'of="+targetPath.toLocal8Bit()+"status=progress";这条语句包含U盘门路,镜像文件门路和状态progress。以上两条语句便是U盘镜像制作的关键点。同时,用户也能够在以下界面通过观察进度图,判断制作状况,进度条图的展现应用的是圆形进度条。首先应用QPainter函数画圆之后,应用setPersent()将进度传入进度条中,这种形式不必通过查看后盾服务端的运行状况,更不便用户的体验,交互感更强烈,如图4。图4.正在制作界面在制作实现后,waitForFinished()期待零碎落盘,落盘后会提醒制作实现,跳到制作实现界面。图5.制作实现界面如果在制作中途点击敞开,会弹出如下提示框,通知用户启动盘正在制作中,是否进行,如果选是,则进行工作退出程序,如果选否,则会持续从以后制作制作启动盘。图6.制作途中途中提醒界面好啦~以上就是对openKylin U盘启动器的局部原理介绍,如果有小伙伴对此感兴趣,可通过点击https://gitee.com/openkylin/s...  返回openKylin仓库查看源码进行钻研哦。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 起源:戎有丽审核:openKylin

December 1, 2022 · 1 min · jiezi

关于git:瑞成科技加入openKylin推动社区生态繁荣发展

近日,杭州瑞成信息技术股份有限公司(以下简称“瑞成科技”)签订了openKylin社区 CLA(Contributor License Agreement 贡献者许可协定),正式退出openKylin开源社区。瑞成科技成立于 2006 年,是一家专一于协同、数据、智能、平安等核心技术,以整合行业软硬件产业链、提供行业整体解决方案,致力于智慧政务、智慧城市、智慧医疗、利用平安、大数据、信创利用、数字化改革等畛域的软件开发、系统集成、数据经营和技术服务的高科技企业。瑞成科技作为国家高新技术企业、国家软件企业,具备国家涉密信息系统集成乙级资质(系统集成、软件开发、运维服务),始终以“诚信、卓越、求实、翻新”作为企业宗旨,在产品研发和服务上遵循“谋求卓越,永不自满”的高标准,致力打造中国自主可控、安全可靠外围品牌。在退出openKylin社区后,瑞成科技将积极参与社区活动,进行技术沟通,并组建固定团队进行openKylin零碎测试,提交Issue以及拓展意见,奉献代码和工具。同时将退出社区HTML5和DE SIG组,与其余社区成员独特构建一个凋谢、丰盛的软硬件生态体系,建设具备国内影响力的开源社区,推动国产零碎产业生态衰弱倒退。社区会员继续招募中目前,openKylin社区会员招募正在炽热进行中,欢送更多企业搭档退出,携手共建,打造桌面操作系统顶级社区,推动国产操作系统产业生态衰弱倒退。详情可查看:【https://www.openkylin.top/joi...  】openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 28, 2022 · 1 min · jiezi

关于git:Git-规范commit-message

每次开发完一个独立性能之后,都会提交commit,并且会写上commit message。但不同的人对commit message有着不同的了解:中英混合应用、fix bug等各种抽象的message司空见惯。这也导致code review、前期保护等场景下,必须通过代码能力得悉提交的次要内容,代码保护老本比拟大。因为标准的commit message是十分有必要的。 通过在技术社区里搜寻得悉,Angular标准是目前应用最宽泛的写法,比拟正当和系统化。联合自己的开发教训,总结出简化版本的commit message标准。 commit message 格局commit message: <type>: <subject> typetype阐明feat新性能(feature)fix修复bugdocs文档(documentation)style批改格局(不影响代码的性能)refactor重构perf优化相干,比方晋升性能、体验revert回滚到上一个版本merge代码合并subjectsubject是commit目标的简短形容,结尾不加句号或其余标点符号。 益处一旦束缚了commit message,意味着开发者将谨慎地进行每一次提交,不能再一股脑地把各种各样的改变都放在一个commit里,这样整个代码改变的历史也将更加清晰。

November 28, 2022 · 1 min · jiezi

关于git:技德系统成立AIService-SIG共建openKylin社区AI技术生态

2022年11月,经openKylin社区技术委员会审议通过,AIService SIG正式成立。AIService SIG由openKylin社区理事单位北京技德零碎技术有限公司发动成立,负责openKylin社区中桌面操作系统上智能服务技术栈的翻新设计、适配与优化等技术相干的开发工作。01SIG指标创立并保护openKylin AIService版本的布局、制作和降级,建设更欠缺的openKylin技术生态;实现适宜桌面操作系统的各类AI服务的根底软件栈,对上为各类AI利用提供服务接口,对下屏蔽各类硬件的异构性。02SIG职责1、适配各类AI计算加速器适配ARM NPU、NVIDIA GPU、华为Atlas等AI专用加速器件,充分利用其算力劣势;为AI模型推理提供对立的AI加速器件调用接口。2、构建施展硬件算力的根底算法库构建包含本地AI编译器、本地推理引擎和本地模型服务环境等在内的根底库;为AI模型推理提供根底软件运行环境。3、构建模型治理及模型性能相干库构建模型压缩、模型加密等模型性能库;构建模型库、模型版本治理等模型治理库。4、构建智能利用接口为对于文本智能、视觉智能、语言智能和机器学习的智能利用接口提供对立的接口形容,供外围利用调用。03欢送退出SIGAIService SIG负责openKylin社区中AI技术相干的开发和信息交换,本小组领有国内顶尖的AI钻研技术团队,为拓展openKylin的生态提供AI人工智能技术层面的无力撑持,期待各位感兴趣的小伙伴们的退出!邮件列表:aiservice@lists.openkylin.topSIG主页:https://gitee.com/openkylin/c...openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。审核:openKylin

November 25, 2022 · 1 min · jiezi

关于git:openKylin社区第二次专家研讨会暨可控开源体系评审会顺利召开

2022年11月22日,由openKylin社区和红山开源社区联结举办的第二届专家研讨会暨“可控开源”体系评审会顺利召开。本次研讨会由openKylin社区秘书长余杰主持,邀请了南洋理工大学刘杨传授、北京航空航天大学孙海龙传授、中国信通院云大所郭雪副主任、国家工业信息安全倒退钻研核心邓昌义高工、红山开源平台经营负责人易比一、红山开源平台技术负责人李光杰等专家加入。会上,首先由openKylin社区常务副秘书长刘敏围绕以后社区工作进展进行介绍,包含社区平台开发、品牌推广,生态建设以及技术停顿等。接着,openKylin社区技术委员会委员毛周就“可控开源”体系向各专家进行了汇报。以后开源平安危险已成为全球化挑战,是操作系统首要关注的危险点。因为引入操作系统的开源软件在起源引入、软件设计、软件开发、技术倒退过程中不足相干的标准规范,操作系统的安全性难以失去保障。为此,openKylin社区提出了“可控开源”体系,从代码的起源、设计、开发和倒退四个重要环节,围绕代码流通的全链路进行平安治理,保障操作系统平安。随后,各与会专家围绕以上汇报内容进行了研究交换,并踊跃建言献策。其中,各专家指出,为解决信息技术可久远倒退的起源问题,“可控开源”体系的建设是很有必要性的,以后openKylin“可控开源”体系整体框架比拟成熟,从起源、设计、开发和倒退等多个维度为开源社区和操作系统保驾护航,但倡议进一步欠缺实施方案,增强开源实际。openKylin作为国内首个桌面操作系统根社区,踊跃构建可控开源机制。本次专家研讨会的顺利召开,为推动openKylin“可控开源”体系建设提出了指导性倡议。接下来openKylin也将继续聚焦“可控开源”体系建设,助推国内开源畛域迈向平安翻新新阶段。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 23, 2022 · 1 min · jiezi

关于git:Git-分支命名规范

Git并没有对分支的命名有强制性或者建议性的束缚。为了标准开发,放弃代码提交记录以及Git分支后果清晰,便于前期保护,技术社区造成一套约定俗成的命名标准。 详解命名阐明master主分支;该分支的代码间接用于线上公布,线上运行的代码来自该分支;不在该分支开发代码,该分支只合并其余分支。feature/xxx( -bbb-...-zzz )性能开发分支;开发某个需要时,就在该分支上开发;个别状况下,从分支master新建该分支;该分支上的代码测试结束之后,须要上线,则合并到分支master,通过分支master上线;该分支的代码上线结束之后,能够删除。hotfix/xxx( -bbb-...-zzz )线上bug修复分支;修复线上bug时,就在该分支上开发;个别状况下,从分支master新建该分支;该分支上的代码测试结束之后,须要上线,则合并到分支master,通过分支master上线;该分支的代码上线结束之后,能够删除。注意事项一个分支尽量开发一个功能模块,这样能够使分支命名更具备语义化,也更好管制功能模块的代码;尽量避免多个功能模块在一个分支上开发。 倡议每天都和分支master合并一下。遇到抵触,则解决抵触,放弃和分支master的代码对立。防止在最初合并分支时,遇到大量抵触,考验开发者的心智,也考验代码的稳定性。

November 22, 2022 · 1 min · jiezi

关于git:牛虚拟化SIG最新技术成果受国际媒体报道

2022年10月,openKylin社区Virtualization SIG最新技术成绩VirtIO-GPU硬件视频减速机制硬件解码性能取得了国内开源社区认可,填补了上游国内开源社区虚构显卡视频硬件解码畛域技术空白。近日,在Virtualization SIG小组的致力研发下,VirtIO-GPU硬件视频减速机制实现了H.264和H.265的硬件编码性能,并被国内新闻phoronix报道宣传,取得了国内媒体的宽泛关注。目前,该技术相干补丁已被Mesa、Virglrenderer上游开源我的项目合并,并将登陆下个季度的Mesa 23.0版本。相干新闻链接:https://www.phoronix.com/news...技术介绍目前,随着挪动互联网技术的蓬勃发展,视频直播、视频聊天、短视频等曾经齐全融入了每个人的生存。但在云桌面等虚拟化畛域,视频编码个别为软件编码,即齐全依附CPU进行解决,其性能始终存在重大瓶颈。为解决以上问题,openKylin Virtualization SIG通过为Virtio-GPU增加硬件视频编码性能,可使虚拟机借助物理机侧的显卡进行硬件视频编码,大幅提高虚拟机的视频编码性能,从而晋升用户在视频直播、视频聊天和视频剪辑等场景中的应用体验。以后停顿目前,Virtio-GPU硬件视频减速框架已反对H.264和H.265视频标准的解码和编码性能(仅反对YUV420图像格式),暂不反对VP8/9等视频标准:对于解码性能,Virglrenderer曾经集成在了0.10.1及当前的版本中,而Mesa预计在正式版本22.3.0中集成。对于编码性能,Virglrenderer预计在0.10.4中集成,Mesa预计在23.0.0中集成。具体如下:另外,openKylin社区曾经先于上游社区实现了Virglrenderer,Mesa,qemu等仓库中的补丁合入,相干性能预计在openKylin 1.0版本中公布。同时,也欢送有志搭档退出openKylin社区Virtualization SIG,与大家一起交换、共同开发、独特演进,构建openKylin社区零碎虚拟化技术。openKylin社区Virtualization SIG:https://gitee.com/openkylin/c...我的项目补丁:https://gitlab.freedesktop.or...我的项目补丁:https://gitlab.freedesktop.or...翻新永无止境,科技引领将来,openKylin作为我国首个桌面操作系统根社区,将减速科技协同翻新,继续参加国内开源社区交换与单干,进一步晋升在国内开源技术社区的影响力,构建技术话语权。openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 22, 2022 · 1 min · jiezi

关于git:Git-工具-贮藏

当在我的项目中开发一些需要,会新增文件/代码、删除文件/代码,这些改变首先存在于工作区,局部改变会增加到暂存区。所有的货色都进入了凌乱的状态,如果这时须要切换到另一个分支或者同步近程分支去做一些其余需要(例如,长期修复线上bug),就相当麻烦。个别地做法,可能是先commit这些中间状态的代码,前期再复原到该分支持续开发,但这样做会额定新增一个无意义的commit,而且所有的改变都被增加到了commit里了,与来到分支时的多种理论状态不相符。幸好,Git提供了长期储藏的命令git stash,接下来就具体介绍一下: 命令git stash作用:将以后分支中的不想commit的改变内容,保留至stash堆栈中;后续能够在某个分支上复原出stash堆栈中的改变内容。 理论利用初始化状态文件index.js;原先有代码“B0”和“B1”;增加了代码“B3”,并且增加到staging area;增加了代码“B4”,停留在working directory: B0 // local repositoryB1 // local repositoryB3 // staging areaB4 // working directory文件index_copy.js;是新增文件,并且有代码“B0”、“B1”、“B3”、“B4”,都在working directory: B0 // working directoryB1 // working directoryB3 // working directoryB4 // working directory保留以后状态通过命令git stash,储藏以后状态: git stash通过命令git status,查看以后状态: git statusOn branch masterYour branch is up to date with 'origin/master'.Untracked files: (use "git add <file>..." to include in what will be committed) index_copy.jsnothing added to commit but untracked files present (use "git add" to track)通过的下面的状态信息能够看出,文件“index_copy.js”未被储藏。 ...

November 20, 2022 · 2 min · jiezi

关于git:Git-撤销commit

当某个性能开发结束之后,须要及时提交commit到以后分支。为了升高代码失落的危险,须要在失当的时候把以后分支推送到近程分支。然而,在某些场景下(比方:向分支提交了谬误的代码),须要从分支中撤销某个commit的提交。 面对这种理论需要,Git提供了两个命令:git revert和git reset。上面具体介绍这两个命令的应用以及区别。 git revert命令:git revert <commit id> 创立revert commit,其内容为反转某个要撤销commit所引入的更改,向以后分支增加该commit。 原理:不是真正地撤销某个commit,而是利用互补原理,反转该commit所引入的更改。 应用场景 - 撤销某个非merge commit的commit初始commit log: B2(B2)---B3(B3)---B4(B4) / \B0(B0)---B1(B1)-----------------B4`(Merge branch 'fix')---B5(B5)初始文件index.js: B0 // you, 1 hours ago ∙ B0B1 // you, 2 hours ago ∙ B1B2 // you, 3 hours ago ∙ B2B3 // you, 4 hours ago ∙ B3B4 // you, 5 hours ago ∙ B4B5 // you, 6 hours ago ∙ B5撤销commit id为B5的commit,删除所提交的代码“B5”找到提交代码“B5”的commit的commit id,而后执行revert命令: git revert B5执行命令之后,会自动弹出编辑revert commit message: ...

November 19, 2022 · 3 min · jiezi

关于git:openKylin社区召开11月技术委员会增选4位委员

2022年11月16日,openKylin社区11月技术委员会会议采取线上+线下模式召开,由openKylin社区技术委员会委员余杰主持,吴庆波主任、魏立峰副主任等全体成员加入。会上,各与会人员围绕社区近期工作成绩和后续工作发展打算进行了重点探讨。会议开始,主持人余杰就本次会议议题进行了介绍,包含社区近期工作进展汇报、技术委员会新增委员选举以及新建SIG申请等,其中议题详细情况如下:一、社区工作进展汇报首先,openKylin社区 Community SIG Owner刘敏就近期社区工作进展做了总结汇报。据介绍,openKylin社区目前在平台开发、生态建设、品牌宣发以及企业会员等方面均获得了肯定成绩。截至目前已集结110+家企业单位会员、领有600+社区开发者、建设了52个SIG组,并自主搭建了包含官网、数字看板和微信小程序等在内的一系列社区平台,目前都处于稳固运行中。随后,openKylin社区Release SIG Maintainer李剑峰对近期社区技术停顿向技术委员会进行了汇报。据介绍,openKylin“分级解冻”机制目前已实现50%开发进度,“可控开源”平安体系已建设一系列我的项目实现对安全漏洞的全生命周期治理,面向多场景为社区的平安保驾护航,及时躲避可能存在的安全隐患。二、新增委员选举我的项目Owner作为openKylin社区 SIG组的核心成员,负责承当了SIG团队所负责我的项目的技术路线和内外资源协调等工作,在本次TC会议上,经技术委员会整体委员表决,批准RISC-V SIG Owner刘晓东、InternationalPromotion SIG Owner王文竹、Infrastructure SIG Owner毛周、I18N SIG Owner李剑峰增选为openKylin技术委员会委员。三、新建SIG申请openKylin社区作为桌面操作系统根社区,激励翻新激发生机,反对同一技术方向创立多个SIG。经技术委员会整体委员表决,此次新增SIG有:GPU SIG和Easylosu SIG。GPU SIG本SIG由openKylin社区共建单位长沙景美集成电路设计有限公司发动成立,致力于GPU驱动相干技术钻研,包含OpenGL、OpenCL、Vulkan、VDPAU和VAAPI等。提供GPU相干软件包的技术布局、设计、开发、保护和降级服务,独特推动国产GPU技术倒退。Easylosu SIG本SIG由openKylin社区开发者陈朝臣发动成立,负责为凋谢麒麟开发简略高效的编程语言,致力于让用户以最低的门槛,轻松享受编程的便当,促成编程语言国产化,促成凋谢麒麟在非开发者群体的推广。对于openKylin社区SIGopenKylin(凋谢麒麟)社区是一个自在凋谢的社区,社区中所有的SIG小组都是凋谢的,任何人和组织都能够参加。你能够抉择退出已有SIG,也能够抉择创立新的SIG。截至目前,openKylin社区已有54个SIG在运行,包含Architecture、Infrastructure、Release、Kernel、Security、Framework等。如果您对此感兴趣,想要退出openKylin(凋谢麒麟)社区,参加SIG奉献,可点击 “https://www.openkylin.top/sig...  ” 理解更多具体内容。对于openKylin社区openKylin(凋谢麒麟)社区旨在以“共创”为外围,在开源、被迫、平等、合作的根底上,通过开源、凋谢的形式与企业构建合作伙伴生态体系,独特打造桌面操作系统顶级社区,推动Linux开源技术及其软硬件生态凋敝倒退。社区首批理事成员单位包含麒麟软件、普华根底软件、中科方德、麒麟信安、凝思软件、一铭软件、中兴新支点、元心科技、中国电科32所、技德零碎、北京麟卓、先进操作系统翻新核心等13家产业同仁和行业机构。 审核:openKylin

November 17, 2022 · 1 min · jiezi

关于git:一次git输错密码导致的问题

明天更新了账户明码,应用git的时候,提醒输出明码,一时手误,于是导致git 始终出错 warning: 重定向到 https://git.xiaojukeji.com/so...fatal: https://git.xiaojukeji.com/so... 有效:这是 git 仓库么? 解决办法:先清空明码缓存,而后从新设置,而后启用缓存 清空:git config --global --unset credential.helper 这时候应用git命令,每次都要输出用户名,明码。 git config --global credential.helper store从新缓存起来就好了

November 16, 2022 · 1 min · jiezi

关于git:git本地忽略assumeunchanged和skipworktree

两种形式assume-unchanged和skip-worktree 增加本地疏忽 git update-index --assume-unchanged 【文件门路】git update-index --skip-worktree 【文件门路】移除本地疏忽(复原跟踪) git update-index --no-assume-unchanged vue.config.jsgit update-index --no-skip-worktree vue.config.js3.git ls-files -v查看文件列表,小写h结尾是assume-unchanged,大写S是skip-worktree。 文件标识形容H缓存,失常跟踪文件Sskip-worktree文件hassume-unchanged文件Munmerged, 未合并Rremoved/deletedCmodified/changed批改Kto be killed?other,疏忽文件cmd查问本地疏忽git ls-files -v |find /V "H " linux查询方法git ls-files -v | grep '^h\ '这两个参数区别: 1.assume-unchanged 假设不变。 这个会敞开文件与近程仓库的跟踪,认为这个文件近程仓库是不会批改,所以每次pull都是本地的文件 2.skip-worktree 跳过工作树这个不会敞开文件与近程仓库的跟踪,只是通知Git不要跟踪对本地文件/文件夹的更改,每次pull时会拉取最新的变动,会提醒抵触,但因为没有跟踪本地更改,所以须要no-skip-worktree再合并最新的变动 所以,最合适的其实是skip-worktree,因为它还在跟踪近程库的批改。 另:.git/info/exclude:这个会删除近程仓库疏忽文件,保留本地文件

November 7, 2022 · 1 min · jiezi

关于git:git-常用命令

笔记次要内容为 git 常用命令全局设置git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig 文件中 git config --global user.email [email protected]:设置全局邮箱地址,信息记录在~/.gitconfig 文件中 git init:将当前目录配置成 git 仓库,信息记录在暗藏的.git 文件夹中 常用命令git add XX :将 XX 文件增加到暂存区 git commit -m "给本人看的备注信息":将暂存区的内容提交到以后分支 git status:查看仓库状态 git log:查看以后分支的所有版本 git push -u (第一次须要-u 当前不须要) :将以后分支推送到近程仓库 git clone [email protected]:xxx/XXX.git:将近程仓库 XXX 下载到当前目录下 git branch:查看所有分支和以后所处分支 查看命令git diff XX:查看 XX 文件绝对于暂存区批改了哪些内容 git status:查看仓库状态 git log:查看以后分支的所有版本 git log --pretty=oneline:用一行来显示 git reflog:查看 HEAD 指针的挪动历史(包含被回滚的版本) git branch:查看所有分支和以后所处分支 git pull :将近程仓库的以后分支与本地仓库的以后分支合并 删除命令git rm --cached XX:将文件从仓库索引目录中删掉,不心愿治理这个文件 ...

November 6, 2022 · 2 min · jiezi