关于git:Github-初始化到当前节点

处于某些状况,咱们须要重置咱们的git到以后版本,并删除历史所有提交记录.接下来,咱们就来实操一遍 1、新建分支 git checkout --orphan bak_branch(新分支名)2、增加文件 git add .3、commit git commit -m "modify 重置git提交"4、删除原主分支 git branch -D master/main (github 从21年将主分支名改为了main)5、重命名以后分支为主分支 git branch -m master/main6、强制推以后分支到git仓库 git push -f origin master/main(IDEA 在push窗口抉择 Force Push -> 如下图)

November 4, 2022 · 1 min · jiezi

关于git:git-out-of-memory-malloc-failed-解决

git提交时,报错"Fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes)" 解决这个报错1、须要把windowMemory容量调大(默认10m,调整为50m)2、倡议同时调整postbuffer的容量。3、最初还须要git repack 关上cmd,分三次输出三行代码并回车 git config --global pack.windowMemory 50mgit config --global http.postbuffer 524288000git repack或者批改本地的.gitconfig文件 [http]postbuffer = 524288000[pack]windowMemory = 50m 再在cmd中输出git repack,回车。 完结。 同步更新到本人的语雀https://www.yuque.com/diracke...

November 4, 2022 · 1 min · jiezi

关于git:项目gitflow版本控制优化

优化前 git-flow 流程之前团队的版本控制是基于 git-flow 的根底上进行简化, 同时也不足 review 的流程, 次要的流程及操作如下: 分支次要有 master, develop, release, bugfix, feature , 所有的正式版本 tag 基于 master 和 bugfix 分支上进行公布.当布局新版本时, 在 develop 开发或基于 develop 拉 feature 分支进行开发并合并, 当布局版本性能开发实现时, 基于 develop 拉取 release 分支进行测试验证, 当验证实现后合并到 master 和 develop 上打好正式版本 tag 进行公布.当公布的 tag 正式版本验证呈现缺点时, 会基于 tag 拉取新的 [ bugfix 共享分支 ] 进行所有缺点的多人修复提交 ( 可能会存在新需要的减少 ), 后续再合并到 develop 和 master 分支.如果 bugfix 修改的是最新的 tag 版本, 修改实现后合并到 master 并基于 master 打正式补丁 tag 公布版本, 再合并到 develop. 如果修改的是之前已公布的 tag 版本, 则基于 bugfix 分支打正式补丁 tag 公布, 再合并到 master 和 develop.存在的问题因为版本的周期比拟长, 导致很多的缺点及需要须要基于老的版本进行迭代, 影响版本的稳定性.bugfix 本来思考作为一个短生命周期的分支, 前面实际时, 时常的需要及缺点修复, 导致版本不稳固, 亦变成了一个长周期的分支;之前老版本 tag 的 bugfix 分支版本公布不能基于 master, 只能基于 bugfix 分支, 流程不清晰;老版本的 bugfix 分支代码合并到 develop 和 master 上, 合并后分支的代码 graph 历史图形凌乱,追溯简单. 可能新版本代码构造存在变更, 合并后存在抵触的问题, 导致 master 分支不稳固;当最新的版本公布 release 测试版本时, 老版本的 bugfix 没有合并到 release 分支, 导致 release 分支测试不能笼罩;代码提交没有 review 流程, 导致代码品质无奈对立, 局部的代码品质及实现计划存在重大问题进行返工;优化后 git-flow 分支基于 git-flow 的根本流程, 减少基于 gitlab 的 merge request review 流程, 次要的流程及操作如下: ...

November 2, 2022 · 3 min · jiezi

关于git:Git命令的使用

git搭建办法一 git clone 'git地址链接' // 克隆我的项目到本地办法二: git init // 初始化我的项目 git remote add origin git链接 // 链接近程仓库 git pull origin 分支名 // 拉取文件git根本步骤git add 命令将该文件增加到暂存区 1、有新创建文件: git add . git commit -m '备注信息'2、无新创建文件: git commit -a -m '备注信息'注:无新文件的时候以上两者都能够应用,有新文件时须要add一下 git pull 命令用于从近程获取代码并合并本地的版本 git pull origin 分支名如果是多人开发,留神看是否有抵触,git status 命令查看是哪些文件抵触了。抵触解决完之后就能够应用git push命令了 git push 命令用于从将本地的分支版本上传到近程并合并 git push origin 分支名git应用步骤程序:git status // 查看有哪些文件须要提交git add . git commit -m '提交备注'git pull origin 分支名git push origin 分支名git强制笼罩git fetch --allgit reset --hard origin/分支名git pull origin 分支名git分支的新建与删除 本地分支: ...

October 29, 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:将文件从仓库索引目录中删掉,不心愿治理这个文件 git restore --staged xx:==将xx从暂存区里移除== git checkout — XX 或 git restore XX:==将XX文件尚未退出暂存区的批改全副撤销== 代码回滚git reset --hard HEAD^ 或git reset --hard HEAD~ :将代码库回滚到上一个版本 ...

October 28, 2022 · 1 min · jiezi

关于git:git补丁相关操作

一:补丁作用git补丁作用是行将改变的代码对立增加到一个补丁文件中,扩展名个别为.patch,将补丁发送到须要的版本中,而后再执行创立补丁命令,这样改变会主动合并到该版本库中 二:创立补丁git format-patch -s [commit id] #将指定提交[commit id]之后的所有提交创立补丁,不包含[commit id]提交自身git format-patch -s [commit id1]..[commit id2] #将指定提交[commit id1]到[commit id2]之间的所有提交创立补丁git format-patch -M [master] #将指定分支[master]到以后分支的所有提交创立补丁三:利用补丁git am [xxx.patch] #利用指定补丁git am --signoff --ignore-whitespace -p1 --directory=project < xxx.patch #利用指定补丁到指定目录下git am *.patch #利用所有补丁git am --signoff --ignore-whitespace -p1 --directory=project < *.patch #利用所有补丁到指定目录下四:git am报错解决在执行git am命令时提醒: fatal: previous rebase directory .git/rebase-apply still exists but mbox given.解决方案: git am --abort执行下面命令后再执行git am后就能够了

October 27, 2022 · 1 min · jiezi

关于git:git-一些非常规操作

git branch -d 分支名 只能删除本地的一个分支 ,删除近程分支的命令为 git push origin --delete 分支名git clone https://gitee.com/sanri/web-ui.git不必和他说这是 https 的链接,每次都要配用户名明码等或者让其应用 ssh 配置免密连贯等,刚接触谁能懂你在说什么,尽管你的教训可能很有用。 可有时候也感觉你记再多的命令都不如了解来得粗浅,就像上篇博文说的。 本文我想均衡一下我的两个观点,必要的命令还是要会的,并且如果能够借助工具实现就借助工具实现,但有些命令是工具实现不了的,就须要本人记得了。 一些网上常用命令没有提到的但的确实用的命令记录,此文会在 csdn 继续更新,其它渠道不提供更新,请转到 我的博客查看最新记录 间接 clone 某个分支,而不是 clone 默认 master 分支 git clone -b 分支名 地址切换到本地分支和近程分支 # 切换本地分支 git checkout 分支名# 切换近程分支(这时近程分支代码并未下载下来)git checkout -b 分支名# 切换分支后,再拉取近程分支代码git pull origin dev 删除近程分支 git push origin --delete 分支名更新近程分支列表,有时候在界面管理工具上创立了分支,但本地须要更新能力晓得近程分支信息 git remote update origin -p 查看近程分支 ,本地分支,所有分支 git branch -r git branch git branch -a 合并某一分支的局部文件到以后分支 ,有时候不想全副合并,应用 git checkout 能够解决 ...

October 24, 2022 · 1 min · jiezi

关于git:gitrefusing-to-update-checked-out

在应用Git Push代码到数据仓库时,提醒如下谬误:[remote rejected] master -> master (branch is currently checked out)这是因为git默认回绝了push操作,须要进行设置,在服务端批改.git/config文件前面增加如下代码: [receive]denyCurrentBranch = ignore无奈查看push后的git中文件的起因与解决办法 这里延长出一个问题,git init 和git –bare init 区别是啥?个别集体应用,用git init,这时候你的工作区也在这里。你要是想建设一个固定的地址让大家一起用,就在服务器上用git –bare init。其实你能够看到,init建设的.git目录内容和–bare建设的目录内容是差不多的。在初始化近程仓库时最好应用 git –bare init 而不要应用:git init。这样在应用hooks的时候,会有用途。如果应用了git init初始化,则近程仓库的目录下,也蕴含work tree,当本地仓库向近程仓库push时, 如果近程仓库正在push的分支上(如果过后不在push的分支,就没有问题), 那么push后的后果不会反馈在work tree上, 也即在近程仓库的目录下对应的文件还是之前的内容,必须得应用git reset –hard能力看到push后的内容.

October 24, 2022 · 1 min · jiezi

关于git:Git-合并分支

在日常开发工作中,人人都会应用git merge <branch>命令来合并分支。但简直没有人会关怀合并分支的细节,本文将具体解说git merge和git rebase命令的细节以及应用场景。 git merge日常开发中,常常应用 git merge <branch>,有三种场景不一样。 1. 快进 - 无抵触假如分支master有三次提交记录:B0、B1、B2 B0---B1---B2(master)因为须要紧急修复线上问题,于是新建了分支fix,并且在分支fix上提交了两次提交记录:B3、B4 B3---B4(fix) /B0---B1---B2(master)当在分支fix上的工作完结,切换到分支master,而后把分支fix合并到分支master: git merge fixUpdating 4f6316b..2c975d7Fast-forward footer.js | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 footer.js因为分支fix最新提交记录(B4)是master分支最新提交记录(B2)的后继,因而Git会间接将指针向前挪动(由B2挪动到B4)。换句话说,当试图合并两个分支时,如果顺着一个分支走上来可能达到另一个分支,那么Git在合并两者的时候,只会简略的将指针向前推动(指针右移),因为这种状况下的合并操作没有须要解决的一致————这就叫做“快进”(fast-forward)。 合并后果如下: B0---B1---B2---B3---B4(master)合并分支fix之后,曾经不再须要该分支,能够删除该分支了。 git branch -d fixtips: 当不想应用快进合并时,使每次合并都有一个总结性的提交记录,能够应用git merge <branch> --no-ff。2. 非“快进”,批改不同文件。(无抵触)假如分支master有三次提交记录:B0、B1、B2 B0---B1---B2(master)因为须要紧急修复线上问题,于是新建了分支fix,并且在分支fix上提交了两次提交记录(与分支master代码无抵触):B3、B4 B3---B4(fix) /B0---B1---B2(master)当在分支fix上开发时,另一位开发人员开发了新性能,并且曾经合并入分支master,增加了提交记录(与分支master、分支fix代码都无抵触):B5 B3---B4(fix) /B0---B1---B2---B5(master)当在分支fix上的工作完结,切换到分支master,而后把分支fix合并到分支master: git merge fixMerge made by the 'ort' strategy. footer.js | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 footer.js因为分支master最新提交B5不是分支fix最新提交B4的间接先人,所以Git无奈做“快进”(fast-forward)合并。Git会应用两个分支的最新提交(B4和B5)以及这两个分支的最新公共提交(B2),做一个简略的三方合并。并且把合并后果在分支master上创立一个新的提交(B6)。提交B3和B4的批改内容都体现在提交B6。 ...

October 23, 2022 · 1 min · jiezi

关于git:git-fetchpull讲解-Git

git fetch&pull解说 | Git概括先用一张图来理一下git fetch和git pull的概念: 能够简略的概括为: git fetch是将近程主机的最新内容拉到本地,用户在查看了当前决定是否合并到工作本机分支中。 而git pull 则是将近程主机的最新内容拉下来后间接合并,即:git pull = git fetch + git merge,这样可能会产生抵触,须要手动解决。 上面咱们来具体理解一下git fetch 和git pull 的用法。 git fetch 用法git fetch 命令: // 这个命令将某个近程主机的更新全副取回本地$ git fetch <近程主机名> 如果只想取回特定分支的更新,能够指定分支名: //留神之间有空格git fetch <近程主机名> <分支名>最常见的命令如取回origin 主机的master 分支: $ git fetch origin master取回更新后,会返回一个FETCH_HEAD ,指的是某个branch在服务器上的最新状态,咱们能够在本地通过它查看刚取回的更新信息: $ git log -p FETCH_HEADgit pull 用法后面提到,git pull 的过程能够了解为: // 从近程主机的master分支拉取最新内容$ git fetch origin master// 将拉取下来的最新内容合并到以后所在的分支中$ git merge FETCH_HEAD行将近程主机的某个分支的更新取回,并与本地指定的分支合并,残缺格局可示意为: $ git pull <近程主机名> <近程分支名>:<本地分支名>如果近程分支是与以后分支合并,则冒号前面的局部能够省略: ...

October 23, 2022 · 1 min · jiezi

关于git:gitsecret在-Git-存储库中加密和存储密钥下

在之前的文章中(点击此处查看上一篇文章),咱们理解了如何辨认蕴含密钥的文件,将密钥增加到 .gitignore ,通过 git-secret 进行加密,以及将加密文件提交到存储库。在本篇文章中,将带你理解如何在 Docker 容器中设置 git-secret 和 gpg,通过 Makefile recipe 为不同的场景创立工作流。 Makefile Adjustment将 git-secret 和 gpg 指令增加到 Makefile 中 .make/01-00-application-setup.mk: # File: .make/01-00-application-setup.mk#...# gpgDEFAULT_SECRET_GPG_KEY?=secret.gpgDEFAULT_PUBLIC_GPG_KEYS?=.dev/gpg-keys/*.PHONY: gpggpg: ## Run gpg commands. Specify the command e.g. via ARGS="--list-keys" $(EXECUTE_IN_APPLICATION_CONTAINER) gpg $(ARGS).PHONY: gpg-export-public-keygpg-export-public-key: ## Export a gpg public key e.g. via EMAIL="[email protected]" PATH=".dev/gpg-keys/john-public.gpg" @$(if $(PATH),,$(error PATH is undefined)) @$(if $(EMAIL),,$(error EMAIL is undefined)) "$(MAKE)" -s gpg ARGS="gpg --armor --export $(EMAIL) > $(PATH)".PHONY: gpg-export-private-keygpg-export-private-key: ## Export a gpg private key e.g. via EMAIL="[email protected]" PATH="secret.gpg" @$(if $(PATH),,$(error PATH is undefined)) @$(if $(EMAIL),,$(error EMAIL is undefined)) "$(MAKE)" -s gpg ARGS="--output $(PATH) --armor --export-secret-key $(EMAIL)".PHONY: gpg-importgpg-import: ## Import a gpg key file e.g. via GPG_KEY_FILES="/path/to/file /path/to/file2" @$(if $(GPG_KEY_FILES),,$(error GPG_KEY_FILES is undefined)) "$(MAKE)" -s gpg ARGS="--import --batch --yes --pinentry-mode loopback $(GPG_KEY_FILES)".PHONY: gpg-import-default-secret-keygpg-import-default-secret-key: ## Import the default secret key "$(MAKE)" -s gpg-import GPG_KEY_FILES="$(DEFAULT_SECRET_GPG_KEY)".PHONY: gpg-import-default-public-keysgpg-import-default-public-keys: ## Import the default public keys "$(MAKE)" -s gpg-import GPG_KEY_FILES="$(DEFAULT_PUBLIC_GPG_KEYS)" .PHONY: gpg-initgpg-init: gpg-import-default-secret-key gpg-import-default-public-keys ## Initialize gpg in the container, i.e. import all public and private keys# git-secret.PHONY: git-secretgit-secret: ## Run git-secret commands. Specify the command e.g. via ARGS="hide" $(EXECUTE_IN_APPLICATION_CONTAINER) git-secret $(ARGS).PHONY: secret-initsecret-init: ## Initialize git-secret in the repository via `git-secret init` "$(MAKE)" -s git-secret ARGS="init".PHONY: secret-init-gpg-socket-configsecret-init-gpg-socket-config: ## Initialize the config files to change the gpg socket locations echo "%Assuan%" > .gitsecret/keys/S.gpg-agent echo "socket=/tmp/S.gpg-agent" >> .gitsecret/keys/S.gpg-agent echo "%Assuan%" > .gitsecret/keys/S.gpg-agent.ssh echo "socket=/tmp/S.gpg-agent.ssh" >> .gitsecret/keys/S.gpg-agent.ssh echo "extra-socket /tmp/S.gpg-agent.extra" > .gitsecret/keys/gpg-agent.conf echo "browser-socket /tmp/S.gpg-agent.browser" >> .gitsecret/keys/gpg-agent.conf.PHONY: secret-encryptsecret-encrypt: ## Decrypt secret files via `git-secret hide` "$(MAKE)" -s git-secret ARGS="hide".PHONY: secret-decryptsecret-decrypt: ## Decrypt secret files via `git-secret reveal -f` "$(MAKE)" -s git-secret ARGS="reveal -f" .PHONY: secret-decrypt-with-passwordsecret-decrypt-with-password: ## Decrypt secret files using a password for gpg via `git-secret reveal -f -p $(GPG_PASSWORD)` @$(if $(GPG_PASSWORD),,$(error GPG_PASSWORD is undefined)) "$(MAKE)" -s git-secret ARGS="reveal -f -p $(GPG_PASSWORD)" .PHONY: secret-addsecret-add: ## Add a file to git secret via `git-secret add $FILE` @$(if $(FILE),,$(error FILE is undefined)) "$(MAKE)" -s git-secret ARGS="add $(FILE)".PHONY: secret-catsecret-cat: ## Show the contents of file to git secret via `git-secret cat $FILE` @$(if $(FILE),,$(error FILE is undefined)) "$(MAKE)" -s git-secret ARGS="cat $(FILE)".PHONY: secret-listsecret-list: ## List all files added to git secret `git-secret list` "$(MAKE)" -s git-secret ARGS="list".PHONY: secret-removesecret-remove: ## Remove a file from git secret via `git-secret remove $FILE` @$(if $(FILE),,$(error FILE is undefined)) "$(MAKE)" -s git-secret ARGS="remove $(FILE)".PHONY: secret-add-usersecret-add-user: ## Remove a user from git secret via `git-secret tell $EMAIL` @$(if $(EMAIL),,$(error EMAIL is undefined)) "$(MAKE)" -s git-secret ARGS="tell $(EMAIL)".PHONY: secret-show-userssecret-show-users: ## Show all users that have access to git secret via `git-secret whoknows` "$(MAKE)" -s git-secret ARGS="whoknows".PHONY: secret-remove-usersecret-remove-user: ## Remove a user from git secret via `git-secret killperson $EMAIL` @$(if $(EMAIL),,$(error EMAIL is undefined)) "$(MAKE)" -s git-secret ARGS="killperson $(EMAIL)".PHONY: secret-diffsecret-diff: ## Show the diff between the content of encrypted and decrypted files via `git-secret changes` "$(MAKE)" -s git-secret ARGS="changes"工作流程应用 git-secret 非常简单: ...

October 21, 2022 · 6 min · jiezi

关于git:Windows上安装和使用git到gitoschina和github上亲测

Windows上装置和应用git到gitoschina和github上_亲测git介绍与在windows上装置创立SSHkey在gitoschina应用git介绍与在windows上装置Git是一款收费、开源的分布式版本控制系统,用于麻利高效地解决任何或小或大的我的项目。 相干介绍能够参考 <百度百科> 的阐明,或参考很好的廖雪峰材料: http://www.liaoxuefeng.com/wi... Windows下装置git: 参考廖雪峰材料: http://www.liaoxuefeng.com/wi... 参考gitOSchina帮忙: http://git.mydoc.io/?t=83143 官网下载git装置软件: https://git-scm.com/downloads 或者廖雪峰材料: https://git-for-windows.githu... windows下装置git软件很简略,根本就是下一步,你能够抉择相应装置门路. 装置实现后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个相似命令行窗口的货色,就阐明Git装置胜利! 还须要最初一步设置名字和Email地址,在命令行输出: git config --global user.name "window_beyond" #你的名字或昵称git config --global user.email "[email protected]" #你的邮箱git config --global core.editor vim #设置编辑器为vim创立SSHkey参考: http://jingyan.baidu.com/arti... $ cd ~/.ssh #在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果曾经有了,可间接跳到下一步。$ cd ~ #保障以后门路在主目录下$ ssh-keygen -t rsa -C "[email protected]" #一路回车,应用默认值即可$ cat ~/.ssh/id_rsa.pub #复制内容登录GitHub零碎;点击右上角账号头像的“▼”→Settings→SSH and GPG kyes -->New SSH key 增加复制的内容 $ ssh -T [email protected] #ssh第一次连贯须要输出yes 呈现 Hi beyondyinjl! You've successfully authenticated..... 示意配置胜利登录git oschina零碎;个人资料-->SSH公钥 增加复制的内容 ...

October 13, 2022 · 1 min · jiezi

关于git:关于使用-git-命令行时遇到的错误消息-unable-to-get-local-issuer-certificate

unable to get local issuer certificate 是开发人员在尝试应用特定于 Windows 的命令行工具 Git Bash 推送、拉取或克隆 git 存储库时面临的常见问题。 当 Git 服务器的 SSL 证书是自签名(self-signed)时,常常会呈现无奈获取本地颁发者证书的谬误。 自签名证书的问题是与它们关联的私钥不能被撤销,这使其成为一个安全漏洞。 另一种可能的起因是因为零碎上的 Git 配置不正确,或者在 Visual Studio Code (VS Code) 终端中应用 git 时的配置不正确。 unable to get local issuer certificate 是由本地计算机上的 SSL 证书配置谬误引起的。 在推送、拉取或克隆时,Git 无奈验证本地的 SSL 证书,从而导致谬误。 无效的 HTTPS 握手要求客户端和服务器共同努力以便创立平安连贯,从而容许本地计算机与托管源代码的地位之间进行平安通信。 当本地计算机的 SSL 证书无奈验证时,Git 无奈实现与托管存储库的服务器的 HTTPS 握手。 当 VS Code 中呈现 无奈获取本地颁发者证书谬误时,通常是因为 Visual Studio 找不到 SSL 证书。 这可能是因为本地计算机上的门路配置谬误。 当自签名证书导致呈现 ssl 证书问题时,解决办法是将证书增加到受信赖的证书存储(trusted certificate store)中。 ...

October 8, 2022 · 1 min · jiezi

关于git:git-批量删除commit-history

场景:近程仓库的工夫线从前到后一共有6个提交,别离为A B C D E F(A是近程仓库第一个提交)当初须要实现删除B C D的提交记录,让近程仓库的工夫线上只呈现 A E F。 操作方法1、git rebase --onto commit-id^ commit-id (具体用哪个comiit-id 看下文举例)2、解决好rebase之后的抵触(不肯定会产生),解决完抵触之后,本地分支上曾经没有了BCD的记录。3、git push --force 强制推送到近程仓库 举例实操:A (commit-id -> af65e5eff383ec5d36d530283ab5ec55fdeb87a5)BCD (commit-id -> ef499db0cbfc959377c5e249e5f0b0d013623898)EF 须要删除 B C D的记录那么须要 git rebase --onto (hash for A)^ (hash for D) 命令行输出1、git rebase --onto af65e5eff383ec5d36d530283ab5ec55fdeb87a5^ ef499db0cbfc959377c5e249e5f0b0d0136238982、手动解决抵触3、git push --force 留神:A作为近程仓库的第一个提交,这条提交记录无奈被删除。 完结。 同步更新到本人的语雀https://www.yuque.com/diracke...

October 6, 2022 · 1 min · jiezi

关于git:在实际工作开发中非常实用的几个-git-命令

前言:git 在理论开发过程中的重要性对在座的各位来说想必不必我过多赘述,然而对于 git 中千千万万简单的命令来讲,在理论开发过程中只有小局部是最常常应用的,明天国庆节第一天,因为疫情起因没回家。闲着没事就给大家总结一下在理论工作中我集体最最最最常常应用的命令,并且我会联合我日常工作流程来解说。 tips:就不过多介绍 git add-commit-push 这三个命令了 一. git stash + git apply/或(pop)背景:我须要拿着我批改的代码去和后端对接 已知: 咱们目前不在同一个分支咱们都是从同一个 master 切出去的一个分支,而后各自进行后端代码的开发和前端代码的开发。此时 leader 过去找我,说:“小韩啊,你当初须要去测试xxx的接口看看数据返回有没有问题。”如果我当初的代码还未提交过一次(也就是素来没有执行 commit -m 这条命令)这种状况十分好解决,如果后端的分支名称是 “feat/test-git” 并且曾经推上去近程仓库了 这是你批改的文件(理论状况很可能是批改了了多个文件,我这里举例子只批改了一个) ,执行 git stash -m "备注信息" 命令,将这些批改的文件保留到储藏区。这个命令会把你批改的代码放到一个独立区域。通过 git stash list 命令能够查看你已保留的个数。紧接着要想方法去后端的那个分支上了,(这里他必须把他的那个分支推送到近程仓库才能够进行前面的操作)执行 git fetch +[分支名],拉取近程分支到本地。而后执行 git checkout +[分支名] 切换到后端的分支下一步执行 git stash apply或者git stash pop命令。(该命令的大抵性能就是能够把你在储藏区的代码给利用到以后分支)两者的次要区别在于是否会删除掉储藏区的这份批改。apply 是不会删除,还会保留储藏区的记录,而stash pop 是会删除掉储藏区的这个记录。我集体举荐apply,因为给了你反悔的机会。并且如果你想测试的分支不是这个后端的,而是另外一个人的分支,那么你同样能够携带着你这份代码过来,而后 apply。此时后端的代码就和你的代码合并到一起了,就能够释怀的测试啦~二. git reset紧接着的这个命令是我开发中用到次数十分的多的,并且是要害时候能够救命滴~ 背景: 假如我当初实现了本人分支的开发,当初有一个 commit 曾经提交到了近程仓库(也就是执行过 push 命令了) 看一眼近程仓库,嗯,这个 commit 曾经被推过去了。 but,此时你忽然发现了这个 commit 的其中某个文件有一个微小的谬误,须要撤销掉这个 commit 从新提交一个 pr。 ...

October 2, 2022 · 2 min · jiezi

关于git:gitsecret在-Git-存储库中加密和存储密钥上

当波及解决机密信息(如明码、令牌、密钥文件等)等,以下问题值得思考: 安全性非常重要,但高安全性往往随同着高度的不便。在团队中,共享某些密钥有时无奈防止(因而当初咱们须要思考在多人之间散发和更新密钥的平安办法)。具体的密钥通常取决于环境。目前市面上曾经存在许多较为成熟的密钥治理产品,比方 HashiCorp Vault,AWS Secrets Manager 以及 GCP Secret Manager。因为这些产品须要集成和保护等服务,因而在我的项目中引入会减少肯定老本和开销。浏览本文,将带你理解如何在 Docker 容器中设置 git-secret 和 gpg。 本文将对以下几点开展解说: 辨认蕴含密钥的文件确保将密钥增加到 .gitignore 通过 git-secret 进行加密将加密文件提交到存储库在最初咱们将可能调用: make secret-decrypt这将会披露代码库中的密钥,在必要时对其进行批改,而后运行: make secret-encrypt须要再次加密密钥,以便提交(并推送到近程存储库),要查看实际效果请运行以下命令: # checkout the branchgit checkout part-6-git-secret-encrypt-repository-docker# build and start the docker setupmake make-initmake docker-buildmake docker-up# "create" the secret key - the file "secret.gpg.example" would usually NOT live in the repo!cp secret.gpg.example secret.gpg# initialize gpgmake gpg-init# ensure that the decrypted secret file does not existls passwords.txt# decrypt the secret filemake secret-decrypt# show the content of the secret filecat passwords.txtTooling咱们在 PHP base 镜像中设置 gpg 和 git-secret 以便这些工具在所有其余容器中都可用。以下所有命令都在 application 容器中执行。 ...

September 29, 2022 · 4 min · jiezi

关于git:Git提示Host-key-verification-failed

问题形容Git提醒Host key verification failed. 问题形容办法一输出 ssh -T [email protected]后,呈现上面提醒:fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.Are you sure you want to continue connecting (yes/no)?不能间接按"回车"键过来,要手动输出"yes"才能够. 办法二在生成密钥后,你得把ssh私钥增加到ssh-agent中。不然你是无奈链接到曾经增加ssh密钥的平台的。 在后盾启动ssh-agent。 $ eval "$(ssh-agent -s)" 将SSH私钥增加到ssh-agent。如果您应用其余名称创立密钥,或者要增加具备其余名称的现有密钥,请应用公有密钥文件的名称替换命令中的id_ed25519。 $ ssh-add ~/.ssh/id_ed25519

September 24, 2022 · 1 min · jiezi

关于git:当你-git-push-时极狐GitLab上发生了什么

本文来自:李振楠 极狐(GitLab) 研发工程师壮士,你可曾好奇过 Git 和极狐GitLab 是如何工作的?当初,拿起你可爱的 IDE,和咱们一起踏上探索之旅吧! 基础知识在开始旅程之前,咱们须要做三分钟的常识储备,计时开始! Git仓库底细应用了 Git 的我的项目都会在其根目录有个 .git 文件夹(暗藏),它承载了 Git 保留的所有信息,上面是咱们这次关注的局部: .git├── HEAD # 当前工作空间处于的分支(ref)├── objects # git对象,git依据这些对象能够重建出仓库的全副commit及过后的全副文件│ ├── 20 # 稠密对象,基于对象hash的第一个字节按文件夹分片,防止某个目录有太多的文件│ │ └── 7151a78fb5e2d99f1185db7ebbd7d883ebde6c│ ├── 43 # 另一组稠密对象│ │ └── 49b682aeaf8dc281c7a7c8d8460f443835c0c2│ └── pack # 压缩过的对象└── refs # 分支,文件内容是commit的hash ├── heads │ ├── feat │ │ └── hello-world # 某个feature分支 │ └── main # 主分支 ├── remotes │ └── origin │ └── HEAD # 本地记录的远端分支 └── tags # 标签,文件内容是commit的hash ...

September 23, 2022 · 5 min · jiezi

关于git:如何使用-Git-管理配置文件

当初很多软件的配置都能够在线同步或者反对导入导出,能够很不便的在不同设施上应用。但电脑上还有很多本地配置文件没有方法同步,夸多个设施应用时很难保持一致,换电脑也很麻烦。其实能够应用 Git 来治理这些配置文件,既能够不便的备份、跨设施同步,还能进行版本控制,避免误操作。 次要思路就是在电脑上创立个裸仓,将工作区设置为所有配置文件的根目录,个别是用户的家目录。而后疏忽掉所有文件,仅将须要备份的文件强制暂存起来就能够了。 具体操作如下: 先在本地创立个裸仓: mkdir config.gitcd config.gitgit init --bare疏忽工作区内的所有文件 echo "*" >> info/exclude手动配置工作区为家目录(或其余所有配置文件的独特父目录) git config core.bare falsegit config core.worktree ~这时能够 git status 查看下配置是否正确,例如应该回显了 nothing to commit 而不是整个工作区的文件第一次增加文件的时候须要应用 -f 选项: git add -f ~/xxx.conf,否则会提醒文件曾经被忽略了剩下的步骤就和失常应用 Git 一样了,git add -u/git commit/git push/git pull 等如果曾经有了配置的仓库,须要在新设施上第一次复原配置,具体操作步骤如下: 先克隆仓库到本地的裸仓库: git clone --bare remote-repository-url config.git手动配置工作区和疏忽工作区的所有文件 echo "*" >> info/excludegit config core.bare falsegit config core.worktree ~因为之前克隆的是裸仓,暂存区内没有内容,所以须要先执行 git reset 命令重建下暂存区当初能够应用 git status 查看本地配置文件和远端配置文件的差别,或者应用 git diff 比照保险起见,应该 git checkout filename 一一复原,也能够应用 git checkout ~ 复原所有配置

September 21, 2022 · 1 min · jiezi

关于git:git忘记pull就push了git报错failed-to-push-some-refs-to的解决方法

问题景象 问题起因近程库与本地库不统一,你批改某个文件同时,他人也批改了该文件并曾经git push了 解决办法1、点击键盘Esc,git控制台呈现输入框,输出wq退出报错信息,呈现命令行 2、git checkout -b my 创立并切换到新分支my 3、git log查看push失败的版本号并复制(commits是胜利的,所以找到本人要push但push失败的版本号) 4、git brach -D dev 本地删除报错分支(这里是dev分支) 5、git fetch 拉取近程仓库代码到本地 6、git checkout dev 当初切换到原来报错分支(这里是dev分支) 这里能够git log查看dev分支commit记录,能够看到之前呈现push谬误的版本号没有了7、git cherry-pick 步骤3复制的版本号,而后git log能够看到本人要push但push失败的版本曾经在本地的dev分支了 8、git diff HEAD^检查一下差别的内容是不是咱们本人扭转的内容 9、查看没问题git push origin dev 上传到对应的近程端(这里是dev分支)

September 20, 2022 · 1 min · jiezi

关于git:纯-Git-实现前端-CICD

原文地址:纯 Git 实现前端 CI/CD 最近要把前端 react 我的项目部署到公有服务器上,钻研了好几种继续部署计划,这里简略形容一下。 总的部署思路分两种: 1.编译后的文件部署 编译后的文件部署,就是先在本地进行npm run build打包,生成 build 文件夹,而后将 build 文件夹传到服务器,再用 Nginx 配置一个动态解析即可。这种计划用 rsync 间接上传就能够,这里不赘述。 2.源码部署源码部署就是把源文件上传到服务器上,而后: $ npm install && npm run build这种形式是将打包工作交给服务器(或其余构建工具),本地只是将源代码 push 下来,git 监听到推送而后主动开始构建。这是当初风行的形式,大多数继续集成工具都是这么干的。明天的重头戏来了!咱们不借助其余构建工具,只用纯 Git 实现监听 push 并主动构建。置信我,这一步十分乏味~ 服务端首先筹备一台服务器,而后装置好 node、git 和 nginx,开始入手。 服务器信息如下:host:192.168.0.1(假的)我的项目目录:/home/react-test创立裸仓库登入服务器,在服务器的 /opt 目录下创立一个裸仓库什么是裸仓库?裸仓库就是没有工作目录的仓库,说白了就是你的我的项目目录下的 .git 文件夹执行命令创立: $ cd /opt$ git init --bare react-test.git创立好后,会生成 react-test.git 文件夹,所以咱们的裸仓库地位是 /opt/react-test.git,记住这里前面会用到。接下来,进入 react-test.git 文件夹,发现外面有个 hook 文件夹。这个文件夹可不得了,是放 Git “钩子” 的中央。所谓“钩子”,其实就是一个 shell 文件。在执行 git 操作(如:push,pull)时触发执行。当初咱们创立一个钩子。增加 push 钩子在 hook 目录下新建 post-receive 文件,这个钩子文件会在代码 push 到这个裸仓库后执行,这里是本文最重要的重点。 ...

September 17, 2022 · 2 min · jiezi

关于git:Git-命令清单

简介 IntroductionGit 是一个分布式版本控制系统,最后由 Linus Torvalds 创作。Git 是用于 Linux 内核开发的版本控制工具,与 CVS、Subversion 等版本控制工具不同,它采纳了分布式版本库的做法,不须要服务器端软件,就能够运行版本控制、使得源代码的公布和交换变得极其不便。Git 的速度很快,这对于 Linux 内核这样的大我的项目来说十分重要。Git 最为杰出的是它的合并追踪(Merge Tracing)性能。本来 Git 只实用于 Linux/Unix 平台,但在 Windows 平台下的应用也曾经相当成熟。 Git 的三种状态和四个区域三种状态: 已提交(committed)已批改(modified)已暂存(staged)刚开始编辑文件时,文件处于已批改(modified)状态,文件在工作目录。 批改完了文件,执行git add ,这个时候文件就变为已暂存(staged)状态,文件进入暂存区,内容被保留到 Git 数据库中。 而后执行git commit,文件就变为已提交(committed)状态,创立了一个提交记录保留到了Git仓库。 四个区域: 工作区:工作区是当克隆我的项目到本地后,我的项目所在的文件夹暂存区:用于存储工作区中增加上来的变更(新增、批改、删除)文件的中央本地仓库:用于存储本地工作区和暂存区提交上来的变更过的文件的中央近程仓库:把我的项目存储在一个中央而不是某个人的电脑上,以便多人协同工作。Git 常用命令配置相干git config --list #显示git配置git config -e [--global] #编辑配置文件git config [--global] user.name "[name]" #设置代码提交时的用户名git config [--global] user.email "[email address]" #设置代码提交时的邮箱代码库相干git init #在当前目录下新建一个代码库git clone [url] #从指标地址下载一个我的项目增删文件相干git add [file] #把指定文件增加到暂存区git add [dir] #把指定目录增加到暂存区git add * #把当前目录的所有文件增加到暂存区git rm [file] #删除工作区文件,并将这次删除放入暂存区git mv [file-original] [file-renamed] #改名文件,并将其放入暂存区提交相干git commit [file] -m [message] #提交暂存区指定文件到仓库git commit -m [message] #提交暂存区到仓库git commit -v #提交时显示所有信息差别git commit -a #提交工作区自上次提交之后的变动,间接到仓库区git commit -amend [file] #重做上一次提交,并包含指定文件的新变动标签相干git tag #列出所有标签git tag [tag] #在以后提交新建一个标签git tag [tag] [commit] #在指定提交新建一个标签git show [tag] #查看标签信息git push [remote] [tag] #提交指定标签git push [remote] --tags #提交所有标签git tag -d [tag] #删除本地标签查看信息相干git log #显示以后分支的版本历史git status #显示有变更的文件git log --stat #显示提交历史,以及每次提交产生变更的文件git log -S [keyword] #依据关键词搜寻提交历史git log -p [file] #显示指定文件的每一次差别git shortlog -sn #显示所有提交过的用户git diff #显示工作区和暂存区的差别git diff --cached [file] #显示暂存区和上一次提交的差别git diff [first-branch]...[second-branch] #显示两次提交之间的差别git show [commit]:[filename] #显示某次提交时,某个文件的内容git reflog #显示以后分支的最近几次提交分支相干git branch #列出所有本地分支git branch -r #列出所有近程分支git branch -a #列出所有本地分支和近程分支git branch [branch-name] #新建一个分支,但停留在以后分支git checkout -b [branch] #新建并切换到该分支git checkout - #切换到上一个分支git merge [branch] #合并指定分支到以后分支git branch -d [branch-name] #删除指定分支git push origin --delete [branch-name] #删除近程分支近程仓库相干git remote -v #显示所有近程仓库git remote show [remote] #显示指定近程仓库的信息git remote add [shortname] [url] #减少并命名一个新的近程仓库git push [remote] [branch] #上传本地指定分支到近程仓库git remote add [remote] [url] #把本地仓库和近程仓库关联git pull [remote] [branch] #取近程仓库的内容更新本地仓库git pull [remote] [branch] --allow-unrelated-histories #强行合并仓库git fetch [remote] #下载近程仓库的所有变动

September 12, 2022 · 1 min · jiezi

关于git:Git-使用指南

根底配置作用范畴配置失效范畴从小到大有三种,别离是 local,global,system 参数作用范畴local对某个仓库失效global对以后用户所有仓库失效system对系统所有登录的用户失效罕用配置# 查看配置git config --global --list# 编辑配置git config -e [--global]# 设置提交代码时的用户信息git config --global user.name '[name]'git config --global user.email '[email address]'解决中文乱码# 解决中文乱码问题 git statusgit config --global core.quotepath false# 解决中文乱码问题 gitkgit config --global gui.encoding utf-8敞开 TLS/SSL 验证(本地部署时罕用)# To disable TLS/SSL verification for a single git commandgit -c http.sslVerify=false clone https://example.com/path/to/git# If the repository is completely under your control, you can try:git config --global http.sslVerify false开启代理# 只对github.comgit config --global http.https://github.com.proxy socks5://127.0.0.1:1080# 勾销代理git config --global --unset http.https://github.com.proxy创立公钥# 生成ssh_key密钥ssh-keygen -t rsa -C "your_email@example.com"# 生成ssh_key密钥(ED25519 算法)ssh-keygen -t ed25519 -C "your_email@example.com"# 将生成的公钥推送至服务器ssh-copy-id root@192.168.8.95# windows复制生成的公钥clip < ~/.ssh/# mac复制生成的公钥pbcopy < ~/.ssh/# Linux复制生成的公钥xclip -sel clip < ~/.ssh/常用命令获取帮忙# 通过浏览器 查看命令git help --web [command]初始化# 初始化仓库git init单个文件增删改# 讲工作区的文件增加到暂存区git add [file]# 讲工作区所有曾经被git管控的文件提交到暂存区git add -u# 讲已被git治理的文件移除git治理git rm [file]# 变更文件名git mv [oldFileName] [newFileName]提交版本# 携带形容提交文件到版本历史库git commit -m 'description'# 讲工作区里的文件携带形容间接提交到版本历史库git commit -am 'description'# 提交时显示所有diff信息git commit -v查看日志# 查看HEAD挪动历史git reflog# 查看日志git log# 查看该分支的日志git log [branch]# 展示[number]条日志git log --n[number]# 查看全副分支的全副日志git log --all# 图形化展现日志git log --graph# 仅查看日志形容git log --oneline# 查看简要日志,适宜查看批改git log --stat# 查看具体日志,适宜做代码reviewgit log -p查看改变内容工作区比拟暂存区:git add 提交内容 git diff ...

September 8, 2022 · 3 min · jiezi

关于git:git-tag创建

一、给本地仓库分支打轻量级tag标签1、在Git中打标签非常简单,首先,切换到须要打标签的分支上: ➜ chang git:(master) git branch* masterdevelop2、而后,敲命令git tag <name>就能够打一个新标签: git tag v1.02、能够用命令git tag查看所有标签: ➜ chang git:(master) git tag v0.8v0.9v1.04、默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比方,当初曾经是周五了,但应该在周一打的标签没有打,怎么办? 办法是找到历史提交的commit id,而后打上就能够了 $ git log --pretty=oneline --abbrev-commitbcf437d (HEAD -> master, tag: v1.0, origin/master, origin/HEAD) 执行2ca1863 (tag: v0.9) 主动创立数据库a7b5762 (tag: v0.8) feat: dda58c09b 待做dbee3f6 把 所有的curl get 申请封装到 curl 库里bffb5cc 同步 分成记录001f5e8 最新0794a67 没有值 解决54e8984 最新8447184 最新8ee5114 最新ed42807 model 和 仓库层 拆散5、比方说要对url update这次提交打标签,它对应的commit id是a58c09b,敲入命令: git tag v0.7 a58c09b6、再用命令git tag查看标签: v0.7 v0.8 v0.9 v1.0 ...

August 31, 2022 · 1 min · jiezi

关于git:git更新所有分支的状态包括更新最近添加的分支让没显示的显示

命令行执行 git remote update origin --prune 即可

August 29, 2022 · 1 min · jiezi

关于git:从零开始用elementui躺坑vue-git

Git 是最风行的版本管理工具,也是程序员的必备技能之一。随着github,coding等一些能够应用git存储的网站流行,Git的江湖位置变得无可替代了,如果你是个开发者却还不会应用Git那就太out了。 首先,小编先引入一张图来解释git。搞懂后,日常应用只需6大命令即可。 1. 图解git原理 1. Workspace: 工作区git add . 命令将改变提交到暂存区git pull 命令将近程仓库的数据拉到以后分支合并git checkout master 切换分支 2. Index / Stage: 暂存区commit -m 'init' 将改变提交到以后分支到本地仓库 3. Repository: 本地仓库(仓库区)git push -u origin master 提交到近程仓库git clone git地址 将近程仓库克隆到本地 4. Remote: 近程仓库区2. git常见术语1. 仓库 Repository仓库蕴含了所有的版本信息,所有的分支和标记信息。 2. 分支 Branches一个分支意味着一个独立的、领有本人历史信息的代码线。默认的分支是master分支。git branch: 查看以后分支git checkout: 切换/创立分支 3. 标记 Tags标记指的是某个分支特定工夫的状态。通过标记,能够不便的切换到标记时的状态 4. 提交 Commit提交代码后,仓库会生成一个新的提交记录。git log: 查看提交的记录 5. 订正 Revision用来示意代码的版本状态 3. git工具Github Desktop: 反对mac和windowshttps://desktop.github.com/ 小乌龟:tortoise: 只反对Windowshttp://download.tortoisegit.o... 4. git常见命令1. addgit add .将本地所有的untrack文件都退出到暂存区,并且依据.gitignore做过滤操作 ...

August 26, 2022 · 1 min · jiezi

关于git:git-add-A-可以免于-git-rm

原文地址: https://segmentfault.com/q/10... 用了一段时间 git 了, 始终有个问题没解决. 当做了一些批改时, 个别会间接 "git add ." 先将文件 staged 起来. 然而 git add . 对被删除的内容是有效的, 还须要 git rm filename 删除文件, 然而 git rm 命令貌似没有相似 git rm . 的用法 (这样能够执行, 但意思是删除所有文件), 于是, 当有比拟大量的文件被删除时, 一个个的 git rm 十分麻烦. 我当初基本上都是到 gui 的 git 中全选, 批量 Stage 搞定, 然而, 命令行上面如何做比拟不便呢, 难道要本人写个脚本? git add -A它会把咱们未通过 git rm 删除的文件全副 stage 其实我也始终有你这个问题, 也是前两天 git rm --help 才看到的, 没想到就用上了 你这里说的 stage 是什么意思, 就是将删除的文件放入 staged 区, 筹备 commit ...

August 21, 2022 · 1 min · jiezi

关于git:Typorapicgogithub图片及文件上传

一、本地文件上传github右上角 new repository复制https连贯在本地下载:git而后找到你要上传的文件夹我的项目,右键点击文件夹(留神:不能选单个文件或者压缩包)在选项里抉择Git Bash Here输出:git clone https://github.com/xx/xx.git (之前复制的https地址)进入新呈现的我的项目目录:cd 文件夹名称输出: git add . (留神 . "不能省略,此操作是把文件夹上面新的文件或批改过的文件增加进来,如果有的文件之前曾经增加了,它会主动省略)输出:git commit -m "提交信息" (提交的信息是你的我的项目阐明)有些刚开应用的用户:这时你要先全局配置好在git上的用户名和邮箱输出:git config --global user.name "用户名"输出:git config --global user.email 邮箱输出:git push -u origin mainLogon failed, use ctrl+c to cancel basic credential prompt.谬误如果 git 没有更新到最新版本,就会产生这种状况,请更新 git,要更新 git,只需依据您应用的操作系统类型执行以下命令:windows: git update-git-for-windows Linux/Unix: git update 二、Typora+picgo+github图片上传首先在 github 新建一个仓库,搁置本人的图片设置复制token下载picgo配置picgotypora 验证图片上传选项

August 20, 2022 · 1 min · jiezi

关于git:书写友好的提交信息

在书写提交信息时,让其变得人机可读是十分重要的。标准的提交信息对代码CR和问题定位等都很有帮忙,尤其是在团队合作中,显得更为重要。 标准开源社区曾经为咱们总结出了一种用于给提交信息减少人机可读含意的标准,其名 Conventional Commits。 标准中举荐提交音讯的构造应如下所示: <type>[optional scope]: <description>[optional body][optional footer(s)]其中结尾局部表明了本次提交的类型(是增加性能还是修复谬误等),范畴则形容了批改的影响面,而后是一段简要的形容,更多具体的信息则能够在注释中进行形容。 最初在可选的脚注中还能够增加额定的内容,比方指明是否是一次破坏性变更,关联的工作卡片等。 交互式提交刚开始遵循标准提交信息时,咱们对要求可能会比拟生疏,不晓得存在哪些选项,应该怎么抉择,因而提供交互式的提交形式是有必要的。 编写合乎提交标准的提交音讯的罕用交互式工具包是 commitizen,当你应用它进行提交时零碎将提醒你须要填写的所有必须提交字段。 yarn add -D commitizen它提供了一个 git-cz 命令,用于代替 git commit 进行提交。 // package.json{ "scripts": { "commit": "npx git-cz" }}默认状况下它会将 streamich/git-cz 作为 Adapter 进行询问,你能够通过配置指定你须要的 Adapter,以 AngularJS's commit message convention 为例: yarn add -D cz-conventional-changelog配置: // package.json{ "config": { "commitizen": { "path": "cz-conventional-changelog" } }}指定的 commitizen.path 将通过 require.resolve 加载,同时反对: Npm 模块;绝对于 process.cwd() 蕴含 index.js 文件的目录;绝对于 process.cwd() 的 .js 文件;残缺的绝对文件名;绝对路径。更多配置可点击查看更多。 ...

August 20, 2022 · 2 min · jiezi

关于git:最全的git命令详细和对常见git操作流程讲解

♂️ 个人主页:奇想派 作者简介:奇想派,十年全栈开发教训,团队负责人。喜爱钻研技术,争取成为编程达人 ️! ️学海无涯苦作舟,️编程之路无悔路! 如果文章对你有帮忙的话,欢送评论点赞珍藏加关注,不胜感激! 目录前言git装置1、git命令大全(整顿成表格,不便查阅) 创立仓库命令减少 / 删除文件代码提交分支标签查看信息和历史近程同步撤销其余2、Git操作流程 1、代码提交和同步代码2、代码撤销和撤销同步 一、已批改,但未暂存二、已暂存,未提交三、已提交,未推送四、已推送到近程️3、其它常见操作 一、关联近程仓库二、 切换分支三、 撤销操作四、版本回退与后退五、配置属于你的Git5. 参考资料 前言大家好,我是奇想派,消耗大量工夫整顿了git命令大全,和一些场景的git利用,送给大家,网上很全的git解说,相对值得珍藏! Git是分布式代码托管的标杆, git命令博大精深,各种玩法,可能很多人对git命令还停留在三段式(git pull 、git commit、git push),这样应酬失常的提交没啥问题,但如果团队引入了分支、标签概念,须要不同分支进行各种简单操作,暂存区和近程仓库联动操作,这时候置信不相熟git命令的程序员必定会慌手慌脚,很容易出错。 更何况,git也有很多黑科技操作,比方想晓得明天你写了多少行代码,能够用命令:git diff --shortstat "@{0 day ago}";,想看看同僚们提交代码次数的排名,可用命令:git shortlog -sn 示意显示所有提交过的用户,按提交次数排序。 总而言之,git命令对程序员的重要性显而易见,能够说是必学的知识点,本文参考官网的git教程,和阮一峰老师的博客文章《罕用 Git 命令清单》,以及集体多年的git教训,整顿的git精髓解说,相对值得浏览,珍藏起来不便前面查阅。(我也是把这文章当做字典查阅) 在这里也举荐个挺有意思的在线学习网站:https://learngitbranching.js.org/ ,动静学习每个场景,一个git场景代表一关,让大家深刻理解git的精华。git装置在应用Git前咱们须要先装置 Git。Git 目前反对 Linux/Unix、Solaris、Mac和 Windows 平台上运行。 Git 各平台安装包下载地址为:http://git-scm.com/downloads 本文在windows零碎装置git,装置地址:https://npm.taobao.org/mirror...,装置流程不啰嗦,下载完后始终下一步即可。具体下载安装教程可参考Git 装置配置 | 菜鸟教程 (runoob.com) 1、git命令大全(整顿成表格,不便查阅)创立仓库命令命令阐明git init初始化仓库,在当前目录新建一个Git代码库,基本上是创立一个具备objects,refs/head,refs/tags和模板文件的.git目录。git clone[url]拷贝一份近程仓库,也就是下载一个我的项目和它的整个代码历史。配置命令阐明git config --list显示以后的Git配置git config -e [--global]编辑Git配置文件。git config [--global] user.name "[name]"git config [--global] user.email "[email address]"设置提交代码时的用户信息减少 / 删除文件命令阐明git add [file1] [file2] ...增加指定文件到暂存区git add [dir]增加指定目录到暂存区,包含子目录git add .增加当前目录的所有文件到暂存区git add -p增加每个变动前,都会要求确认<br/> 对于同一个文件的多处变动,能够实现分次提交git rm [file1] [file2] ...删除工作区文件,并且将这次删除放入暂存区git rm --cached [file]进行追踪指定文件,但该文件会保留在工作区git mv [file-original] [file-renamed]改名文件,并且将这个改名放入暂存区代码提交命令阐明git commit -m [message]提交暂存区到仓库区git commit [file1] [file2] ... -m [message]提交暂存区的指定文件到仓库区git commit -a提交工作区自上次commit之后的变动,间接到仓库区git commit -v提交时显示所有diff信息git commit --amend -m [message]应用一次新的commit,代替上一次提交<br/>如果代码没有任何新变动,则用来改写上一次commit的提交信息git commit --amend [file1] [file2] ...重做上一次commit,并包含指定文件的新变动分支命令阐明git branch列出所有本地分支git branch -r列出所有近程分支git branch -a列出所有本地分支和近程分支git branch [branch-name]新建一个分支,但仍然停留在以后分支git checkout -b [branch]新建一个分支,并切换到该分支git branch [branch] [commit]新建一个分支,指向指定commitgit branch --track [branch] [remote-branch]新建一个分支,与指定的近程分支建设追踪关系git checkout [branch-name]切换到指定分支,并更新工作区git checkout -切换到上一个分支git branch --set-upstream [branch] [remote-branch]建设追踪关系,在现有分支与指定的近程分支之间git merge [branch]合并指定分支到以后分支git cherry-pick [commit]抉择一个commit,合并进以后分支git branch -d [branch-name]删除分支git push origin --delete [branch-name]或git branch -dr [remote/branch]删除近程分支标签命令阐明git tag列出所有taggit tag [tag]新建一个tag在以后commitgit tag [tag] [commit]新建一个tag在指定commitgit tag -d [tag]删除本地taggit push origin :refs/tags/[tagName]删除近程taggit show [tag]查看tag信息git push [remote] [tag]提交指定taggit push [remote] --tags提交所有taggit checkout -b [branch] [tag]新建一个分支,指向某个tag查看信息和历史命令阐明git status显示有变更的文件git log显示以后分支的版本历史git log --stat显示commit历史,以及每次commit产生变更的文件git log -S [keyword]搜寻提交历史,依据关键词git log [tag] HEAD --pretty=format:%s显示某个commit之后的所有变动,每个commit占据一行git log [tag] HEAD --grep feature显示某个commit之后的所有变动,其"提交阐明"必须合乎搜寻条件git log --follow [file]或git whatchanged [file]显示某个文件的版本历史,包含文件改名git log -p [file]显示指定文件相干的每一次diffgit log -5 --pretty --oneline显示过来5次提交git shortlog -sn显示所有提交过的用户,按提交次数排序git blame [file]显示指定文件是什么人在什么工夫批改过git diff显示暂存区和工作区的差别git diff --cached [file]显示暂存区和上一个commit的差别git diff HEAD显示工作区与以后分支最新commit之间的差别git diff [first-branch]...[second-branch]显示两次提交之间的差别git diff --shortstat "@{0 day ago}"显示明天你写了多少行代码git show [commit]显示某次提交的元数据和内容变动git show --name-only [commit]显示某次提交发生变化的文件git show [commit]:[filename]显示某次提交时,某个文件的内容git reflog显示以后分支的最近几次提交近程同步命令阐明git fetch [remote]下载近程仓库的所有变动(近程新增或删除分支都能显示)git remote -v显示所有近程仓库git config [--global] user.name "[name]"git config [--global] user.email "[email address]"设置提交代码时的用户信息git remote show [remote]显示某个近程仓库的信息git remote add [shortname] [url]减少一个新的近程仓库,并命名git pull [remote] [branch]取回近程仓库的变动,并与本地分支合并git push [remote] [branch]上传本地指定分支到近程仓库git push [remote] --force强行推送以后分支到近程仓库,即便有抵触git push [remote] --all推送所有分支到近程仓库撤销命令阐明git checkout [file]复原暂存区的指定文件到工作区git checkout [commit] [file]复原某个commit的指定文件到暂存区和工作区git checkout .复原暂存区的所有文件到工作区git reset [file]重置暂存区的指定文件,与上一次commit保持一致,但工作区不变git reset --hard重置暂存区与工作区,与上一次commit保持一致git reset [commit]重置以后分支的指针为指定commit,同时重置暂存区,但工作区不变git reset --hard [commit]重置以后分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit统一git reset --keep [commit]重置以后HEAD为指定commit,但放弃暂存区和工作区不变git revert [commit]新建一个commit,用来撤销指定commit<br/>后者的所有变动都将被前者对消,并且利用到以后分支git stash临时将未提交的变动移除,稍后再移入git stash pop临时将未提交的变动移除,稍后再移入其余命令阐明git archive生成一个可供公布的压缩包git repack打包未归档文件git count-objects计算解包的对象数量git help或git --helpGit帮忙,查看git相干命令,如果想看某个特定命令的具体细节,可应用git [命令] --help,如 git commit --help 示意查看提交相干命令的帮忙2、Git操作流程git的操作往往都不是一个命令能解决的,就比方下图所示,单单代码提交和同步代码,就波及到6个命令的组合。 ...

August 19, 2022 · 4 min · jiezi

关于git:变更Github上历史commit的用户名和邮箱的方法

环境Window 10Git Bash先确认历史记录谬误的用户名是wrongName,邮箱是wrongMail@example.com git log --pretty=fullcommit 000111000111000111000 (HEAD -> master, origin/master)Author: wrongName <wrongMail@example.com>Commit: wrongName <wrongMail@example.com>变更办法设置正确的用户名 newName=correctName设置正确的邮箱 newEmail=correctMail@example.com批改本地git的提交信息 git filter-branch -f --env-filter "GIT_AUTHOR_NAME='$newName'; GIT_AUTHOR_EMAIL='$newEmail'; GIT_COMMITTER_NAME='$newName'; GIT_COMMITTER_EMAIL='$newEmail';" HEAD再确认历史记录,发现曾经被批改为正确的了 git log --pretty=fullcommit 000111000111000111000 (HEAD -> master, origin/master)Author: correctName <correctMail@example.com>Commit: correctName <correctMail@example.com>GitHub强行push,把方才批改的提交到github git push -f

August 18, 2022 · 1 min · jiezi

关于git:使用husky70来规范Git提交

大家好,我是前端小贺,心愿可能通过本人的学习输入给你带来帮忙。背景在一个残缺的工作流中,Git提交标准是肯定须要的。Git提交标准包含什么呢? 我感觉应该包含代码的质检以及commit message校验。 咱们应用husky来增加咱们上述的需要: husky是利用Git hooks(上面有常见的Git hooks)在git的钩子函数中(比方pre-commit、commit-msg)做一些事件。上面是官网的介绍: Modern native Git hooks made easy申明:咱们应用的husky的版本是7.0及之后的版本 装置husky好了,关上我的项目的根目录,执行`npm install husky --save-dev,前提是生成了package.json npm install husky --save-dev咱们依照官网的文档,进行husky install: 留神点:这里的npm的版本必须为7.1及之后的版本(https://github.com/npm/cli/re...) npm set-script prepare "husky install"npm run prepare增加eslint hook咱们来配置eslint校验 npx husky add .husky/pre-commit "npm run lint"git add .husky/pre-commit上述咱们为什么可能配置npm run lint呢,是因为咱们的package.json文件中的script中蕴含了lint: { "scripts": { "lint": "vue-cli-service lint" }}ok,至此咱们在commit的时候就会校验代码了,咱们试一下: git commit -m"验证"> webpack-vue@2.1.0 lint> vue-cli-service lint DONE No lint errors found!如上,咱们提交的时候执行了lint脚本。 增加commit-msg hook接下来,咱们限度下commit messge标准。 咱们须要采纳npm社区中比拟成熟的两个依赖包@commitlint/cli,@commitlint/config-conventional。 @commitlint/cli是用来在命令行中提醒用户信息的@commitlint/config-conventional是commit message标准接下来咱们装置下两个包,并增加相干的配置文件: npm install @commitlint/cli @commitlint/config-conventional --save-devecho "module.exports = { extends: ['@commitlint/config-conventional'] }" > commitlint.config.jsok,至此咱们能够校验commit meassage中的内容了,咱们测试一下: ...

August 17, 2022 · 1 min · jiezi

关于git:Git-之-版本回退

以前,如果是要去除某一块性能,我都是选择性删除,选择性正文,而后前后逻辑各种查看,各种比拟。每一次,改完这些我总感觉心好累啊!!!而后,我就发现了 Git 一个十分弱小的性能:回滚。当然我还是喜爱叫它:版本回退。 1. git log定义:该命令显示从最近到最远的提交日志。每一次提交都有对应的 commit id 和 commit message。 如果厌弃输入的信息横七竖八,那么加上 --pretty=oneline 参数试试吧! 2. git reset --hard id定义:依据 id 回退到指定的版本; 咱们曾经依据 git log 命令看到了所有的提交的信息,本文中,我以回退到 集体模块批改包引入程序 版本,即 commit id 为 7222c8f6be2d663982faa98dffe2647966b438b1;成果:3. git push origin HEAD --force推送到本地到近程仓库:让近程仓库代码和你本地一样,到以后你本地的版本。这个时候忽然又发现不须要回退了,方才那些隐没的代码又要从新找回来了,别放心,咱们 Git 弱小着呢!4. git reflog定义:查看命令操作的历史 查找到你要的 **_操作id_**,仍旧应用 上文说的 **_git reset --hard id_**。又回退到当初截然不同的版本啰!

August 17, 2022 · 1 min · jiezi

关于git:Git-多用户配置

Git 多用户配置前言装置 Git 后会设置一个全局的用户名/邮箱,Git 的全局配置保留在 ~/.gitconfig。 这样,公司我的项目和集体我的项目的 git commit 信息都会用全局的用户名/邮箱,很显著集体我的项目最好不要蕴含公司的任何信息。 那如何独自为我的项目设置的用户名?能够用 git config user.name "your name" 为我的项目独自设置,也能够用 includeIf 个性为局部我的项目设置 includeIfGit v2.13 提供 includeIf 条件配置,能够指定某个目录所应用的 gitconfig 首先,创立 .gitconfig-work 文件,用于寄存公司我的项目的目录 # ~/.gitconfig-work[user] name = my work email = work@company.net而后,创立 .gitconfig-me 文件,为寄存集体我的项目的目录 # ~/.gitconfig-me[user] name = my github email = me@gmail.net最初,批改 .gitconfig 文件 # ~/.gitconfig[includeIf "gitdir:~/work/"] path = .gitconfig-work[includeIf "gitdir:~/me/"] path = .gitconfig-me集体我的项目放到 ~/me/ 下,工作我的项目放到 ~/work/,这样就不必每个我的项目独自设置了。 参考https://stackoverflow.com/que...

August 15, 2022 · 1 min · jiezi

关于git:vscode使用git

创立近程仓库 克隆代码 改变的文件 放弃批改 点击 + 暂存文件;相当于git add . 已暂存的文件 点击对号;相当于git commit -m "备注信息";输出须要备注的信息。而后按 Enter 确定 推送到远端:相当于git push origin master 拉取代码;相当于 git pull origin master 测试两个版本抵触版本一: 版本二: 提交抵触的代码 拉取线上代码和本地代码的比照 点击 stash All changes stash的意思是将文件放到暂存区栈里去了,代码没有提交,工作区处于游离状态,所以要从暂存区外面把暗藏的代码给取出来

August 10, 2022 · 1 min · jiezi

关于git:Git传输协议多用户配置

1、Git文件的四种传输协定Git有四种不同的协定用来传输材料,别离是:本地协定LocalHTTP协定SSH协定(Secure Shell)Git协定 1.1 本地协定应用场景:本地协定常见的状况就是,近程仓库地址在同一主机上的其余目录。该协定因为无奈外网拜访,故而在实践中并不常见,不做具体理解。详情见Git的根底概念。Git文件的四种传输协定。 1.2 HTTP协定目前支流提供https地址,github、gitee、gitlab均反对。如果你在 HTTP 上应用需受权的推送,治理凭证会比应用 SSH 密钥认证麻烦一些。 然而,你能够抉择应用凭证 存储工具,比方 macOS 的 Keychain 或者 Windows 的凭证管理器。 个别应用443端口;通过用户名/明码受权,可用性比拟高;速度相较快点。 1.3 SSH协定个别应用22端口;通过先在本地生成SSH密钥对再把公钥上传到服务器;速度相较慢点。 SSH协定不反对匿名拜访 Git 仓库。 如果你应用 SSH,那么即使只是读取数据,使用者也必须通 过SSH 拜访你的主机, 这使得 SSH 协定不利于开源的我的项目,毕竟人们可能只想把你的仓库克隆下来查看。 如果你只在公司网络应用,SSH 协定可能是你惟一要用到的协定。 如果你要同时提供匿名只读拜访和 SSH 协定, 那么你除了为本人推送架设 SSH 服务以外, 还得架设一个能够让其他人拜访的服务。 1.4 Git协定不足受权机制。 把 Git 协定作为拜访我的项目版本库的惟一伎俩是不可取的。 个别的做法里,会同时 提供 SSH 或者 HTTPS 协定的拜访服务,只让少数几个开发者有推送(写)权限,其他人通过 git:// 拜访只有 读权限。 Git 协定兴许也是最难架设的。 它要求有本人的守护过程,这就要配置 xinetd、systemd 或者其余 的程序。 它还要求防火墙凋谢 9418 端口,然而企业防火墙个别不会凋谢这个非标准端口。 而大型的企业防火墙通常会封闭这个端口。 该协定在理论实际中应用也比拟少,不做具体理解。详情见Git的根底概念。Git文件的四种传输协定。 2、Windows应用http协定2.1 个别github、gitee这样开源托管的网站都能够应用http协定。2.2 革除本地缓存的git账户和明码,托管在windows凭证中。操作门路:控制面板->用户账户->凭据管理器->治理Windows凭证->Windows凭据,逐个清理。 2.3再次clone我的项目,提醒输出用户名和明码,正确输出后会再次保留到Windows凭证中。 ...

August 7, 2022 · 1 min · jiezi

关于git:Git-不要只会-pull-和-push学学这-5-条提高效率的命令下

应用git作为代码版本治理,早已是当初开发者必备的技能,然而大多数的开发者还是只会最根本的保留,拉去,推送,遇到一些commit治理的问题就大刀阔斧,或者用一些不优雅的形式解决。上面分享一些在开发工作中实际过的实用命令,这些都可能大大提交工作效率,还能解决不少疑难场景。revert形容:给定一个或多个现有提交,复原相干提交引入的更改,并记录一些这些更改的新提交,这就要求你的工作树是洁净的(没有来自头部的批改)。将现有的提交还原,复原提交的内容,并生成一条还原记录。利用场景:利用场景:有一天测试忽然跟你说,你开发上线的性能有问题,须要马上撤回,否则会影响到零碎应用,这时可能会想到用reset回退,可是你看了看分支上最新的提交还要其它共事的代码,用reset会把这部分代码也撤回了,因为情况紧急,又想不到好办法,还是兽性的应用reset,而后再让共事把他的代码合一遍(共事听到想打人),于是你的技术形象在共事眼里一泻千里。 命令应用:revert一般提交学会revert之后,立马就能够援救这种难堪的状况当初master记录如下: revert掉本人提交的commit.因为revert会生成一条新的提交记录,这时会让你编辑提交信息,编辑完后:wq保留退出就好了。再来看下最新的log,生成一条revert记录,尽管本人之前的提交记录还会保留着,但你批改的代码曾经被撤回了。revert合并提交在git的commit记录里,还有一种类型是合并提交,想要revert合并提交,应用上会有些不一样。当初的master分支里多了条合并提交。应用刚刚同样的revert办法,会发现命令行报错了。为什么会这样,在官网文档中有承受:通常无奈revert合并,因为您不晓得合并的哪一侧应被视为主线,此选项指定的父编号(从1开始),并容许revert反转绝对于指定父编号的更改我的了解是因为合并提交是两条分支的交加节点,而git不晓得须要撤销的哪一条分支,须要增加参数-m指定主线分支,保留主线分支的代码,另一条则被撤销。revert合并提交后,再次合并分支会生效还是下面的场景,在master分支revert合并提交后,而后切到v2.0分支修复好bug,再合并到master分支时,会发现之前被revert的批改内容没有从新合并进来。因为应用revert后,v2.0分支的commit还是会保留再master分支的记录中,当你再次合并进去时,git判断有雷同的commitHash,就疏忽了相干的commit需改内容。当初master的记录是这样的再次应用revert,之前被revert的批改内容就又回来了。reflog形容:此命令治理重录中记录的信息如果说reset –soft时后悔药,那reflog就是强力后悔药,它记录了所有的commit操作记录,便于错误操作后找回记录。利用场景:利用场景:某天你眼花,发现自己在其它人分支提交了代码还推到近程分支,这时因为分支只有你的最新提交,就想着应用reset –hard,后果缓和不小心点错了commitHash,reset过头,把共事的commit搞没了。没方法,reset –hard是强制回退的,找不到commitHash,只能让共事从本地分支再推一次(共事霎时拳头就硬了,怎么又是你),于是,你的技术形象又一泻千里。命令应用:分支记录如上,想要reset到b误操作reset过头,b没了,最新的只剩下a这时用git reflog查看历史记录,把谬误提交的那次commitHash记下再次reset回去,就会发现b回来了。设置git短命令对于我这种喜爱桥命令行而不必图形化工具的爱好者来说,设置短命令能够很好的提高效率,上面介绍两种设置短命令的形式。形式一:形式二:关上全局配置文件写入内容应用 源码附件曾经打包好上传到百度云了,大家自行下载即可~ 链接: https://pan.baidu.com/s/14G-b...提取码: yu27百度云链接不稳固,随时可能会生效,大家放松保留哈。如果百度云链接生效了的话,请留言通知我,我看到后会及时更新~开源地址码云地址:http://github.crmeb.net/u/defuGithub 地址:http://github.crmeb.net/u/defu

August 1, 2022 · 1 min · jiezi

关于git:git命令行的使用之提交单个文件

git status -s 查看仓库状态【!!!这一步肯定要有,不然可能门路谬误,就提交不了】 git add 文件门路 增加须要提交的文件【文件门路参考上一步打印的文件门路】 git stash -u -k 疏忽其余文件,暗藏以后批改的文件,之后就不会提交未被add的文件 git commit -m "提交备注" 备注内容 git pull 拉取合并 git push 推送到近程仓库 git stash pop 复原之前疏忽的文件【!!!要记得】参考文档:https://www.csdn.net/tags/NtD...

July 29, 2022 · 1 min · jiezi

关于git:极狐GitLab-Helm-Registry-使用指南

Helm 是云原生时代应用程序的治理利器,极狐GitLab 有开箱即用的 Helm Chart Registry,能够和极狐GitLab CI/CD 无缝集成,体验一体化 DevOps 平台的魅力。 本文章来自 JIHULAB 101 参与者投稿,极狐GitLab SaaS ID:keyboard-man。在极狐GitLab SaaS 上的 issue 地址为:【我要拿拼图】极狐GitLab Helm Registry 的应用 #JIHULAB 101 (#79) · 议题 · gitlab-cn / JIHULAB 101 · GitLab 更多对于 JIHULAB 101 的内容能够阅读文章:「极狐GitLab创作营 JIHULAB 101」正式开营!官网地址:JIHULAB 101。 Helm是什么Helm 是 Kubernetes 的包管理工具,是发现、分享以及应用那些在 Kubernetes 上构建的软件的最好办法,目前是 3.9.0 版本。 Helm 的装置Helm 的装置非常简单,能够通过命令行来装置,诸如 brew、scoop、gofish、snap 等,也能够通过下载二进制文件包并将其增加到 PATH 中来实现装置,本文抉择用二进制文件包来装置。 在 release(Release Helm v3.9.0 · helm/helm · GitHub)页面找到须要装置的版本,间接下载即可。以 macOS 为例,用如下命令实现下载: $ wget https://get.helm.sh/helm-v3.9.0-darwin-amd64.tar.gz而后解压并将解压后的二进制文件增加到 PATH 中: ...

July 28, 2022 · 1 min · jiezi

关于git:行话-汽车软件如何高效交付我们总结了这三个关键点

什么是行话?「行话」,是极狐 GitLab 近期推出的全新内容系列,探讨 Git 与 DevOps 在不同行业的实际场景与解决方案,心愿可能为不同行业的软件开发者带来一些全新的思考和输出。说行业,讲行话。这一期,咱们抉择了「汽车行业」,讲「汽车行话」。以下,enjoy。 汽车行业数字化转型的要害——软件定义汽车从第一辆内燃机汽车呈现到明天,曾经过来了 100 多年,汽车行业也在 100 多年的倒退演变中,逐步造成了一套传统汽车行业的百年游戏规则。然而随着新技术的改革,汽车行业产生了微小的变动,游戏规则在被突破,呈现了新的玩法。这些破圈的玩家有特斯拉、蔚来、小鹏、现实等造车新权势,也有谷歌、百度、华为等技术赋能者。 不论是造车新权势还是技术赋能者,都在让汽车变得更加电动化(新权势的电动汽车)、智能化(主动驾驶或者辅助驾驶)、网联化(让汽车成为万物互联的一个重要节点曾经落地场景)。而实现这所有的背地有一个重要的推动因素:软件。 软件在汽车行业中占比越来越大,依据亿欧智库公布的寰球汽车软件与汽车电子 E/E 市场规模预测报告显示,汽车软件(包含性能、OS、中间件)从 2020 年到 2030 年都是一个增长的态势,增速能达到 9%。 数据起源:麦肯锡,亿欧智库 同样是亿欧智库公布的中国汽车软件市场规模预测及汽车软件占整车比例的报告显示,2020 年中国汽车软件的规模大略是 1.98 万亿人民币,然而到了 2030 年,整体规模会扩充靠近一倍,约 3.44 万亿。同时汽车软件老本占整体的老本比例在持续上升,从 1970 年的 3%  到 2020 年的 40%+,而这一数据将在 2030 年达到惊人的 65%,也就是说整车的老本中,软件老本将占很大比例。 数据起源:亿欧智库 正因如此,各大汽车厂商都在汽车软件畛域进行了大量的投入。造车新权势自不必说,都有本人的软件研发团队,甚至独立的公司。而传统车企也在踊跃进行转型,为了及早走上软件定义汽车的正确赛道,先后通过本人组建软件研发部门或者通过和其余公司单干来补强本人的软件研发能力,诸如 2016 年,吉利汽车成立了亿咖通科技,次要聚焦在汽车的智能化软件研发,比方智能座舱、智能驾驶、车联网等;2019 年大众汽车集团 CEO 提出了一个观点:“汽车将成为一个软件产品。为了实现这一点,大众汽车组建了专门的数字汽车部门,用来增强本身的软件能力;2020 年上汽成立了零束软件分公司,进行汽车软件的研发;长安、北汽等与华为进行单干等。” 汽车企业的数字化转型是所有车企找到企业倒退“第二曲线”的重要形式,软件定义汽车是实现这一点的要害。软件定义汽车,为消费者带去全新的出行体验,同时找到新的商业变现模式,让企业可能继续竞争力。 滑至文末查看极狐GitLab DevSecOps 平安解决方案! 软件定义汽车的演进之旅汽车软件的研发经验了从 MBSE 到间接编程的演进。模块化编程 MBSE 在传统汽车的电子电器和软件性能的开发上,有比拟大的劣势,在 Autosar(CP)畛域提供模块化编程工具的几家大公司,对本人开发的模块通过了长时间的测试和验证,能够认为其曾经达到了高等级的性能平安需要,再加上应用模块能够最大水平保障代码的一致性,因而模块化的编程形式,在汽车行业始终比拟受欢迎。 但随着汽车上的软件性能越来越简单,特地是智能座舱软件性能的丰盛,不可能有限减少 ECU 的数量,导致了 Autosar 架构不再能满足这些对于算力有着高要求、但对时延和安全性能够略微放宽的情况。Adaptive autosar(AP)的呈现即是为了解决这个问题。 但 AP 的呈现也不过5年工夫,规范及模块也远不如 CP 成熟(特斯拉的电子电器及软件架构并没有采纳Adaptive autosar 架构)。这也就意味着,如果要开发新一代的智能汽车,无论是否采纳 AP 架构,都没有太多现成的成熟模块可用,而须要本人来做源代码的开发。目前汽车行业在一直向互联网行业学习,逐步开始采纳间接编程的模式。 ...

July 27, 2022 · 1 min · jiezi

关于git:龙智技术指南Helix4Git简明使用手册

Helix4Git是一款高性能的Git服务器(在Perforce服务器外部),它使Git用户能够应用Git命令拜访源代码。Helix TeamHub是一款Git代码托管工具,它们同为Perforce Git工具。 当您将这两个工具与Perforce版本管理工具Helix Core联合应用时,您能够通过繁多可信的代码源进行跨开发团队治理。如果您正在与开源或第三方开发团队单干,这一点尤其重要。 本文由龙智技术专家团队成员邱洁玉撰写,她以简明扼要的形式出现了Helix4Git的应用办法,不便中国用户应用。如需理解更多对于Helix4Git、Helix TeamHub以及Helix Core的相干信息,请分割Perforce受权合作伙伴——龙智。 简介Helix4Git是高性能的Git服务器(在Perforce服务器外部)。这使Git用户能够像通常应用Git命令那样拜访其源代码。 当用户将Helix4Git与Helix Core一起应用时,用户能够在整个开发团队中保护惟一可信起源。如果用户正在与开源或第三方开发团队单干,这一点尤其重要。 Helix4Git有两局部形成: Helix服务器(即p4d)Git connector,相当于一个git服务器用户能够应用Git客户端从gragh仓库拉取文件后进行更改,而后再将文件推送至gragh仓库。Git客户端与Helix服务器通过git connector通信。 装置2.1  装置Git connector要求: Helix Core服务器版本要在2017.1以上Git版本在1.8.5以上举荐git connector与helix server装置在不同的机器上2.2  Git connector目前可装置在以下linux平台: Ubuntu 12.04 LTS (Precise), 14.04 LTS (Trusty), 16.04 LTS (Xenial), 18.04 LTS (Bionic), 20.04 (Focal)CentOS or Red Hat 6.x, 7.x, 8.xSUSE Linux Enterprise Server 11, 12, 152.3  本文配置环境为: 操作系统: centos7Perforce helix core: 2021.2Git connector: 2019.2Git version: 2.34.0 2.4  装置步骤 2.4.1 导入软件签名 sudo rpm --import http://package.perforce.com/perforce.pubkey2.4.2 配置repo地址 ...

July 25, 2022 · 2 min · jiezi

关于git:git-merge-不为人知的秘密

丹尼尔:Hi,蛋兄,周杰伦都出新专辑了,你咋还不更新啊,真的打算半年一更啊? 蛋学生:如同的确是这样,要不,择日不如撞日,明天聊聊? 丹尼尔:好啊,那聊些啥呢? 蛋学生:最近搞的事件须要实现两个利用我的项目的代码合并,逻辑就齐全参照 git merge 的根本准则,那就聊聊 git merge 吧 丹尼尔:git merge 我倒是常常用,不过却从未关怀过它外部是怎么实现的。那你跟我讲一下它的工作原理呗。 合并的根本准则: three-way蛋学生:git merge 的根本准则是 three-way 丹尼尔:3 条路?啥东东? 蛋学生:简略讲就是有 3 个分支。假如就叫 a, o, b,其中 a 和 b 都来自于 o,如下所示: 丹尼尔:嗯,而后呢? 蛋学生:当初 a 和 b 要进行合并。假如你以后在 a 分支,而后运行 git merge b,那么合并后果是依据 a, o, b 之间的内容比拟后果剖析得出的。 丹尼尔:哦,嗯,比拟逻辑是什么呢? 蛋学生:Very 简略。只有 a, o, b 任意两个的内容统一,就放弃 o 的内容;如果都不一样,就抵触。如下图所示 丹尼尔:只有... 蛋学生:我还是列举下所有的场景吧,而后你就会明确了 1). o == a, o != b 假如内容如下: o: daniel a: daniel b: dx-ba merge b 的后果: dx-b ...

July 25, 2022 · 2 min · jiezi

关于git:程序员都应该知道的-21-个-Git-命令

前言诞生于 2005 年的分布式版本管理工具:Git,现如今已成为大多数公司协同单干的必备工具之一了。它直到现在仍然放弃着简略易用、高效治理的特点。置信很多刚踏入职场的猿友们,第一个须要学会应用的就是 Git。明天,咱们来重温常常应用的 20 个 Git 命令,也可当做本人的 Git 命令速查表。 1、git init初始化一个 Git 仓库,它将创立一个 .git 文件夹,后续的操作记录都会在此文件夹里,相当于 Git 的数据库。 2、git remote add origin 近程仓库地址将本地仓库和近程仓库关联,origin 是近程仓库的名字,是 Git 的默认叫法。关联之后,咱们就能够将本地的提交历史推送到近程仓库,实现和其他人的协同工作了。 3、git remote -v查看关联的近程仓库列表,返回近程仓库名和 URL: $ git remote -vorigin https://github.com/schacon/ticgit (fetch)4、git status显示当前工作目录和暂存区的状态,例如创立了一个文件,此时 git status 就会在 Untracked files 里显示该未追踪的文件,如果将该文件 add 了之后,就会在 Changes to be committed 看到,即曾经加到缓存区,期待提交。最初,当咱们 commit,就会发现没有任何批改和未提交的文件了。 5、git add [file]用于将已批改或未跟踪的文件增加到暂存区 6、git commit -m "提交日志"将暂存区的文件提交到本地仓库 7、git log --oneline查看提交的日志信息 8、git diff查看工作区的文件和暂存区的不同之处 9、git push origin <本地分支名>将本地的分支推送到 origin 近程仓库的上,第一次推送近程仓库将会在服务器上创立对应的分支,当第一次推送完后,后续能够间接应用 git push 这种简介用法了 ...

July 24, 2022 · 1 min · jiezi

关于git:GitkrakenGit可视化工具

一、Git1、简介Git(读音为/gt/)是一个开源的分布式版本控制系统,能够无效、高速地解决从很小到十分大的我的项目版本治理。 2、根底操作命令行介绍git clone 我的项目地址获取分支代码git add 文件门路增加某个文件到暂存区git add .增加所有文件到暂存区git branch 分支名创立分支git checkout 分支名切换分支git checkout -b 分支名先创立后切换分支git branch -d 分支名删除分支git commit -m "该节点的形容信息"对批改的形容git pull拉取最新代码git push推送本地代码到线上

July 22, 2022 · 1 min · jiezi

关于git:Git的使用

原文链接 1.获取分支获取主分支: git clone http://username@XX.XX.XX.XX:XXXX/scm/pap/dir_name.git指定获取其余分支(snowstorm分支): git clone -b snowstorm http://username@XX.XX.XX.XX:XXXX/scm/pap/dir_name.git2.查看分支cd /home/username/dir_name/git status3.创立并切换本地分支git branch snowstormgit checkout snowstorm4.切换跟踪的近程分支切换要跟踪的近程分支(origin/snowstorm为近程分支,snowstorm为本地分支): git branch --set-upstream-to=origin/snowstorm snowstorm创立近程分支(snowstorm为本地分支,snowstormtry为近程分支): git push --set-upstream origin snowstorm:snowstormtry删除近程分支(snowstormtry): git push origin --delete snowstormtry5.查看批改若有批改,查看status会有提醒: modified: dir_name/new_change.py查看具体批改: git diff dir_name/new_change.py即可看到每一行的批改 6.拉取更新对于协同编写,能够用pull拉取他人上传的更新: git pull拉取分支的更新(origin snowstorm为近程分支): git pull origin snowstorm7.上传更新(1)add/rm 增加须要上传的文件: git add env.txt或者本地删除了某个文件: git rm env.txtgit add -A示意增加所有内容, git add . 示意增加新文件和编辑过的文件不包含删除的文件; git add -u 示意增加编辑或者删除的文件,不包含新增加的文件 (2)commit 对批改的形容 git commit -m "add env"(3)push git pushpush到指定分支(snowstorm分支): ...

July 15, 2022 · 1 min · jiezi

关于git:GitHub的使用

原文链接 创立新我的项目在GitHub创立新我的项目: 创立Git文件(1)在须要上传的目录关上powershell (2)执行命令创立暗藏的.git文件: git init增加用户我的项目的.git\config文件最初退出 [user] name = name email = email 否则会呈现以下报错: Commit failed - exit code 128 received, with output: '* Please tell me who you are.Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"增加到Git别离执行add、commit,具体参考 Git的应用 (1)add/rm 增加全副文件: git add -A增加单个文件: git add env.txt删除某个文件: git rm env.txtgit add -A 示意增加所有内容, git add .示意增加新文件和编辑过的文件不包含删除的文件; git add -u 示意增加编辑或者删除的文件,不包含新增加的文件。 (2)commit 对批改的形容 git commit -m "new"关联仓库将本地仓库关联到github上,XXX为仓库名 git remote add origin https://github.com/Snowstorm0/XXX.gitPushpush到github: ...

July 15, 2022 · 1 min · jiezi

关于git:git-commit-之后-pull冲突后的解决方案

git 提交代码时,遇到抵触时,会呈现分支那里正在变基问题因为在一个分支上协同开发,我在开发前pull了一下分支,那时候曾经有一部分的代码了,因为我和另一个小伙伴的代码有一部分是反复的,然而他的有问题,所以我须要批改,就改了他的一部分代码,而后我须要提交了。 git add .git commit -m 'xxxxxxxx'这时候须要对原有的分支进行pull一下, git pullpull之后的提示信息,因为他有提交,并且我在他之后提交的地位做过批改,而后pull的时候会和已有的提交进行笼罩导致抵触须要手动合并文件解决,解决抵触后应用git add示意抵触曾经解决,git rebase --continue示意持续下一个抵触,git rebase --skip示意跳过以后抵触,git rebase --abort示意退出rebase模式,回到运行git rebase master命令之前的状态。 Resolve all conflicts manually, mark them as resolved with“git add/rm <conflicted_files>”, then run “git rebase --continue”.You can instead skip this commit: run “git rebase --skip”.To abort and get back to the state before “git rebase”, run “git rebase --abort”.解决完抵触之后,我保留上传始终重复,发现有变基。。我应用了git rebase --abort,想把变基去掉。然而应用之后。能够看他给出的提示信息。 “git add/rm <conflicted_files>”, then run “git rebase --continue”.最初查找材料应用 git add .(只有有批改都须要git add . 或者git add 具体的文件)git rebase --continue( git rebase --continue 就相当于 git commit)依照提醒输出qa:enter,具体看提醒git push 就能够提交代码了————————————————原文链接:https://blog.csdn.net/weixin_... ...

July 14, 2022 · 1 min · jiezi

关于git:GitHub仓库配置SSH-keys步骤流程图解

问题形容本文记录一下github上仓库代码推送的时候,配置shh的步骤,便于更好的晋升开发代码管理效率,图解详情步骤如下: 步骤第一步,应用ssh-keygen命令基于RSA算法生成客户端秘钥输出命令,一路回车即可。命令:ssh-keygen -t rsa -C "本人的相干邮箱@163.com" ssh-keygen 是Unix和类Unix计算机系统上的平安外壳(SSH)协定套件的规范组件,用于通过应用各种加密技术在不平安的网络上建设近程计算机之间的平安shell会话。ssh-keygen实用程序用于生成,治理和转换身份验证密钥。第二步,在对应文件夹中找到刚生成的秘钥文件 第三步,关上公钥id_rsa.pub文件并复制其内容 第四步,登录github,点击本人头像点击设置 第五步,在SSH and GPG keys新建SSH keys 第六步,粘贴保留 最初就能够欢快的push代码啦... 至于gitlab或者gitee也是一样的 kongzi yue: A bad pen is better than a good memory ^_^

July 9, 2022 · 1 min · jiezi

关于git:践行自主可控30真正开创中国人自己的开源事业

近年来,作为数字经济重要推动力的信创产业呈现出高速倒退的态势。2021 年,《“十四五”国家信息化布局》提出“要害核心技术创新能力显著晋升,集成电路、根底软件、配备资料、外围元器件等 8 大短板获得重大突破”的指标。因而,实现信创产业的自主可控倒退成为了中国科技领域的必然方向。 然而,对于自主可控的了解,业界却存在着不少的争执。有些人认为,只有齐全自主开发,才算是自主可控;但也有些人认为,能够通过一些拿来主义,引进一些技术,只有能把握源代码,不存在平安后门,同样能够算是自主可控。那么,到底什么是真正的自主可控?如何能通过自主可控创始中国人本人的科技事业?对此,能够联合以后中国开源畛域的倒退作一些剖析。 开源畛域自主可控的三阶段 家喻户晓,凋谢源代码的外围就是“凋谢”,是接收、容纳和倒退,求同存异,互利共赢,这才是开源的实质。因而,在开源畛域实现自主可控,有其人造的劣势,这也使得我国非常重视开源畛域的倒退,甚至将其视为软件产业,甚至科技产业实现弯道超车和跨越式倒退的重要撑持之一。从这个意义上说,中国开源畛域的自主可控绝不是闭门造车,不只是本人埋头写代码,而是须要真正参加到凋谢外围源代码的社区中来,人人参加,人人奉献,与一直演进的开源社区一道发展壮大,从而向外输入,构建中国技术国内影响力。但从发展趋势来看,开源畛域的自主可控也走过了几个阶段。在10多年前,开源的理念缓缓传入中国,很多外资企业和开源基金会纷纷来到中国步道,传递开源的技术,初步构建开源社区,也逐步汇集了一些群体,造成了我国开源社区的雏形,有些企业也因而获益。但这一阶段,就像很多年前我国以市场换技术一样,主导者仍然是国外的企业或组织,且规模比拟小,远未成为中国的开源事业。到第二个阶段,有些企业引入了一些开源技术,而后本人在国内构建开源社区。但很多时候,引入的并不一定是追随寰球社区倒退一直迭代的最新技术,而是从开源社区内的某个技术分叉过去。在肯定水平上,会导致局限国内开源的倒退,如果偏离寰球公认的主线,则很难在寰球范畴内实现真正的开源利用和规模化。时至今日,在数字经济时代下,中国技术倒退正在走入第三个阶段,暂且称为“自主可控3.0”——将寰球当先的开源技术以非法合规的形式落地中国,国内自主研发,并通过奉献反哺社区,与寰球翻新时刻放弃的同步,影响并引领寰球翻新的步调,实现“凋谢外围”的开源模式。对于企业来说,落实“凋谢外围”的开源模式有5步走,即“参加社区”、“融入社区”、“奉献社区”、“治理社区”、“主导社区”,这样能力真正实现自主翻新和自主可控的开源利用,开源凋谢,自励自强。 从技术到生态,践行自主可控3.0 明天,越来越多企业曾经意识到了,在开源畛域须要践行自主可控3.0,踊跃拥抱寰球当先的开源技术,并在开源社区中踊跃奉献,并获得了很好的成果。作为踊跃践行自主可控3.0的代表企业,极狐公司从利用寰球当先的技术,到打造自主知识产权的产品,再到构建本地开源生态体系,在反对和推动信创产业的路线上一直前行:基于“中外合资3.0”的独特商业模式,极狐公司于2021年正式成立,成为一家领有寰球当先技术、由中国资本推动、中国本地团队治理经营、全面对接中国软件服务生态、服务于中国用户的新型中外合资企业;在成立短短一年之后,极狐公司实现了A轮融资,GitLab的股权降到了46.8099%,这也使得极狐公司在产研、决策和融资方面实现了外乡团队主导的自主经营治理,同时公司还针对中国市场的需要,打造了极狐GitLab SaaS(JihuLab.com)等一系列产品,为国内用户提供寰球当先的本土化源代码托管平台和一体化DevOps能力,助力中国开源生态蓬勃发展;此外,极狐公司还致力于构建欠缺的开源生态,2021年携手云原生计算基金会 (CNCF) 联结发动并成立 “开源GitOps产业联盟”,目前已有200多家合作伙伴的参加。 毫无疑问,开源产业的倒退是一条前途光明但充斥艰苦的路线,只有参加各方共同努力,并明确方向,达成共识,能力最终迈向胜利的此岸。实现自主可控,解决卡脖子的问题,是所有中国人的冀望,也是以极狐为代表所有中国企业所致力的方向——在开源畛域,始终保持“凋谢外围”的模式,踊跃推动自主可控3.0,真正创始中国人本人的开源事业!

July 5, 2022 · 1 min · jiezi

关于git:Git-常用命令总结

当初咱们无论是公司或者是集体我的项目,都经常用到Git,作为一个开源的版本控制系统,在我用过的所有版本控制系统中,它是最好用的了(截止到写这篇文章的2022年)。这里记下一些常用命令。具体的命令大全能够参考Git. 仓库(Repository)git init, 创立一个新的本地仓库git clone,check out a repository提交代码status git status, 列出有改变,目前须要提交的文件。Add files git add <filename> git add *, 增加一个或多个文件到statingCommit git commit -m "Commit message", commit changes to head(but not yet to remote repository). git commit -a, commit any files you've added with git add, and also commit any files you've add since then.Push git push origin master, send changes to the master branch of your remote repository.撤销本地的改变git checkout -- <filename>, replace the changes in your working tree with the last content in the head. Changes already added to the index, as well as new files, will be keep.git fetch origin git reset --hard origin/master ,放弃本地所有的改变和提交,fetch the latest history from the server and point your local masrer branch at it.分支(branches)git checkout -b <branchname>, 创立一个新的分支,并且切换到它。git branch -d <branchname>, 删除分支。git push origin <branchname>,Push the branch to your remote repository, so others can use it.git push --all origin, push all branches to your remote repository.git push origin :<branchname> 删除你近程仓库的分支。update from remote repositorygit pull Fetch and merge changes on the remote server to your working diectory.2.git merge <brandbane>, merge a different branch to your active branch.git diff, view all the conflicts. git digg --base <filename>, view the conflicts against the base file. git diff <sourcevbranch> <targetbranch>, preview changes before mergegit add <filename>,解决抵触之后,手动增加更新过的文件

July 5, 2022 · 1 min · jiezi

关于git:常见的git命令和gitgithub问题

相干命令git remote git remote add origin xxx (xxx为仓库链接)给这个链接取一个名字,为origin git pull git pull <近程主机名> <近程分支名>:<本地分出名>git push git push origin main删除一个近程仓库 git remote rm xxx(仓库名)批改一个近程仓库链接 git remote set-url origin <remote-url>查问仓库 git remote -v常见谬误把本地的master分支重命名为main git branch -m master main当Failed to connect to 127.0.0.1 port 1080 // 首先,查一下以后全局的 http 代理:git config --global http.proxy// 如果有代理,就勾销git config --global --unset http.proxy// 再查 https 的代理:git config --global https.proxy// 同样的,有就勾销git config --global --unset https.proxy当'credential-manager' is not a git command ...

June 30, 2022 · 1 min · jiezi

关于git:文末福利|时间精力节省-50腾讯云HiFlow场景连接器小程序解放你的双手

嘿,你每天办公要用多少个软件? 很多企业除了必备的 IM 软件,还须要来回切换各种简单的零碎,比方财务、OA、ERP、CRM 等等,有时 Excel 文件还满天飞。 有没有什么办法能实现数据主动跨零碎 / 利用流转?为了解决这个问题,vika维格表凋谢了 API 接口来连贯其他软件,同时还结交了许多「敌人」笼罩更多办公场景,想尽一切办法让工作「本人做完」。 腾讯云 HiFlow 场景连接器就是其中一员,vika维格表和腾讯云场景连接器陆续单干推出了人员主动考核、主动发短信 / 邮件、AI 辨认发票 / 卡证等一系列自动化解决方案,减速推动企业的数字化过程。 不仅如此,为了让你离「解放双手」更近一步,vika维格表正式上架腾讯云 HiFlow 场景连接器小程序,你在vika维格表内就能打造残缺的自动化流程。文末还有惊喜福利等着你~ 腾讯云 HiFlow 场景连接器小程序自动化办公快人一步过来,你须要同时登陆vika维格表和腾讯云 HiFlow 场景连接器的官网,能力搭建、测试和公布数字化工作流程。 当初,仅需关上vika维格表,在空间站内就能够连贯更多腾讯云 HiFlow 场景连接器中的利用,搭建自动化工作流更便捷。戳这里理解更多 小程序面板装置腾讯云 HiFlow 场景连接器小程序从模板创立 / 我的流程 vika维格表在模板核心贴心上线了多个内置腾讯云 HiFlow 场景连接器的模板,岂但配置了相干教程,还会陆续上新。快来看看有没有你须要的: vika模板内置小程序即取即用疫情防控自动化因为疫情反反复复,街道社区、大小公司都须要频繁上报衰弱码、行程码等防疫信息。关上衰弱码-截图-关上行程码-截图-关上表格-上传,也成了许多人的日常。 vika维格表模板核心上线了疫情防控专用模板,内置腾讯云 HiFlow 场景连接器小程序,能够主动实现防疫信息的自动识别和统计,无效缩小简略重复劳动。 自动识别并录入防疫信息 目前这套模板目前已反对北京、上海、广州、深圳、黑龙江、吉林、江苏、天津、辽宁、浙江、河南、四川、贵州地区衰弱码辨认,更多地区的辨认正在加急开发中~ 上报人员能够通过点击链接或扫描二维码进入收集信息的神奇表单页面,提交衰弱码 / 行程码的截图,填写的防疫信息会实时主动汇总到同一张表格之中,罢黜大量机械劳动。戳这里马上 get 同款模板 原来 3 个小时的工作量, 当初 1 小时都不必就能轻松解决,效率大大晋升。戳这里手把手教你搭建 团队简报生成器周期性的简报不仅是管理者考核工作的一种伎俩,更是信息同步、资源协调、组织建设中重要的一环。一份高质量的简报应该包含工作内容、产出和帮助项,而不单单是流水账。 这套模板内置的腾讯云 HiFlow 场景连接器小程序能够买通vika维格表和企业微信。团队成员可定时收到企业微信群的音讯告诉,及时提交日报。戳这里获取配置教程 主动推送简报音讯 ...

June 30, 2022 · 1 min · jiezi

关于git:VUCA-时代这家有清华基因的跨境电商企业逆势增长-200

疫情暴发,对寰球经济造成了全方位的影响,寰球供应链更是展示了其软弱的一面。与之绝对的,是国内跨境电商的逆势增长:商务部数据显示,2020 年,中国跨境电商进出口额为 1.69 万亿元人民币,增长 31.1%;而 2021 年跨境电商进出口规模达到了 1.98 万亿元,增长 15%。 数据背地是无数个跨境电商企业的逆流而上,21克正是其中一员——2020 年,21克年销量同比增长超 200%。 21克的增长窍门①市场差异化定位,保持打造独立品牌相比跨境电商,21克的定位更贴近「综合性企业」,它深耕家居产品行业,在寰球范畴内积攒积淀了丰盛的批发、电商资源,具备弱小的供应链整合能力。所谓「跨境电商」的标签,更像是21克切入市场的通行证。 这种差异化定位的策略,或者要追溯到企业创建之初。 21克的创始人 Vincenzo Tang,毕业于加拿大西蒙菲莎大学 Beedie 商学院,在 2016 年创建了21克。在创建之初,他就定下了差异化的价值主张: 中国不不足优质的 OEM 代工厂,21克的 Added Value 应是赋能工厂,并帮忙其向市场化转型,把 Made in China 变为 Designed in China,从 OEM 转向 ODM,再到 OBM,打造中国的自有品牌。 彼时跨境出海电商刚刚衰亡,「打造自有品牌」的概念并不常见。但 Vincenzo Tang 的业余洞察颇具前瞻性——3 年后,21克入选福布斯中国 30 Under 30 企业。 能够说,打造自有品牌,是21克从 2016 年成立至今始终保持的路线。 21克产品图 2021 年,中国跨境贸易企业的寰球营销渠道重大碰壁,面临获取流量难、物流慢、老本进步、合规危险低等问题;海内电商平台政策收紧,卖家禁受合规经营考验等诸多挑战。 在应答上,21克以消费者为出发点,晋升品牌品质,凭借产品的设计、品质和服务一直积攒海内消费者的口碑和好评,保持塑造「好设计、好品牌、好体验」的「三好」公司形象,在疫情后实现继续、稳固的经营与扩张。 2021 年,21克跨境电商业务销售额约 3 千万美元。 业绩晋升后,21克的庆功流动 21克的增长窍门②独特的人才观,为企业提供可继续的源源能源在疫情的催化下,现在的国内关系局势愈发简单,中国出口贸易碰壁,国内市场抵制「中国制作」的呼声更是层出不穷。在这种局势下,许多问题亟待解决,比方怎么实现中国自有品牌的逆流而上?实现 Made in China 向 Design in China 以及 Created in China 的转变? ...

June 30, 2022 · 1 min · jiezi

关于git:git配置以及替换gerrit默认commitmsg-hook

Git 配置标准配置用户名和邮件为了提交记录便于辨认,配置中文名,邮箱配置成gitlab注册邮箱 git config --global user.name "中文姓名" git config --global user.email "email@[email.com"示例 user.name 配置规定: name#工号 示例 git config --global user.name "张三#A00003" user.email 配置规定: 对立应用公司的邮箱。示例 git config --global user.email "san.zhang@casstime.com" 放弃仓库中以 LF 换行git config --global core.autocrlf input // 因为linux服务默认应用LF作为换行符格局参考资料:git core.autocrlf配置阐明 git中文门路名称乱码git config --global gui.encoding utf-8 git config --global core.quotepath false让git mergetool不再生成烦人的备份文件(*.orig)git config --global mergetool.keepBackup false让文件名辨别大小写git config --global core.ignorecase false不批改文件模式(文件mode变动不提交到仓库)git config --add --global core.filemode false文件重命名不失效(大小写不敏感)时,请应用 git mv 重命名git mv lineConfig.js LineConfig.js为了不便您的配置,您能够间接运行以下脚本 git_config_default.sh ...

June 27, 2022 · 2 min · jiezi

关于git:实际工作项目中搭配git托管代码的流程

明天总结一下本人在理论工作我的项目中搭配git和gitee代码托管平台实现日常工作流的开发。 第一步每天早上下班须要切到主分支上拉取一下最新的代码。 留神:这里有一个须要特地关怀的点就是如果你工作的分支有未实现的批改(也就是昨天晚上你工作的代码没批改完,你忘了推送下来)你是无奈切换分支的 这里着重讲一下这种状况如何正确处理1.下图能够看到咱们当初批改了一部分代码,然而还未修改完,不想发一个commit到master分支上 2.当初我仓库上游有代码更新了,我须要去切换到master分支上拉去最新的代码。 当前然而因为你没有commit,所以git不容许你切换分支因为你的代码并没有实现,如果你commit的话,会多一条无用的记录,并且commit -m的时候信息也不晓得如何填写适合。 这时候我会用到git stash,这里咱们不过多解说stash的用法,它是用来代替commit的,相当于把你的改变临时放到了和暂存区同级别的一个中央。 3.让咱们git status看一下哪些文件被批改了 就是这个红色的文件被咱们批改了,导致咱们无奈切换到主分支。接下来让咱们git stash一下试试。而后再执行 能够看到咱们的批改如同隐没了一样,这时候咱们就能够切换到master上了,执行git pull,同步一下最新的代码。 ok,这时候咱们master分支的代码是最新的了,然而咱们开发是在分支上开发的呀,text分支代码还不是最新的。这时候咱们就须要让text分支和master分支的代码同步。 4.这里切回text分支。 在理论开发中我会抉择git rebase master这个命令来同步最新的代码,因为应用git merge master会造成一次非凡的commit,意思就是master分支上拉下来和你不同的那些代码git会主动生成一次commit记录来帮你记忆这次代码的更改。但往往这个commit是无用的,它会再你代码改好当前,等真正想push代码的时候,这条commit会跟着你改代码时候“真正的”那条commit一起推送过来。 所以咱们就选用git rebase,在这里只简略解说一下,具体意思能够百度搜查更具体的答案。它真正让人感到和merge的不同之处就是不会产生多余的那条commit 5.执行一下git rebase看看 如同不对劲,有谬误?先采纳上面这个答复的形式解决,至于起因这个我之前也没钻研过,待我当前搞清楚再来补充 6.执行完git fetch origin当前,咱们在text分支上执行git rebase master命令。 能够看到当初咱们的代码就是上游仓库,你的共事所有提交完当前的最新代码。 然而别忘了,你批改的代码还在stash仓库里放着。 咱们只需执行stash apply,就能够拿下来所有add当前的代码了。 相熟的那个文件就又呈现了。留神!!!!!!这时候可能会引起抵触。情理很简略因为你当初更改的代码,有可能你共事也改过了,这时候git就不晓得该才用谁的代码了,所以这时候git就会提醒你优先更改抵触。 此时批改抵触即可。

June 23, 2022 · 1 min · jiezi

关于git:git常用命令大全

git常用命令大全 作用:git的作用是协同多人对同一个我的项目进行开发,解决多人在同工夫对雷同文件开发的合并抵触问题,给每个文件的每次批改操作做日志标记,不便前期查找保护;源代码版本控制管理系统 是一个 时光穿梭机,能够查看到一个文件之前某年某月某日某时刻是什么样子的。 一、应用指令配置账号`快捷键: 复制:Ctrl+Insert 粘贴:Shift+Insert`$ git config --global user.name "xxx"$ git config --global user.email "xxx@163.com"初始化仓库$ git init增加文件到暂存区// 提交单个文件$ git add test.txt// 提交单个目录文件$ git add js// 提交所有文件$ git add .|*|-A // 或. 或* 或-A提交文件到版本库// message 提交的备注信息,不便前期查看保护应用// 将暂存区全副有须要的文件一次性提交到本地版本库中。$ git commit -m "第一次提交";查看状态指令新建、批改的文件通过该指令能够看出比照: 红色示意被 新建/批改 的文件,须要执行add操作,该文件目前正处于工作区绿色示意文件曾经处于 暂存区,须要执行commit操作 以便增加到版本库$ git status -s // 简短形式提醒日志$ git status // 失常提醒日志查看操作日志$ git log全副撤销最近一次add$ git reset HEAD 二、分支创立分支$ git branch // 查看所有分支$ git branch cart // 创立名称为cart的分支切换分支$ git checkout cart // 切换到名称为cart的分支上或$ git checkout -b cart // 创立并切换到cart分支上合并分支$ git merge cart删除分支$ git branch -d cart三、近程仓库获取(复制)仓库$ git clone "近程仓库地址" // 获取已有仓库的正本到本地提交操作把本地版本库的文件push推送到近程仓库$ git push "近程仓库地址" 分支 // 把某一个分支推送到近程仓库留神只有 版本库 的文件才能够被push推送到近程仓库当初每个文件命运走势:工作区 -- (add) --> 暂存区 -- (commit) ---> 版本库 -- (push) ---> 近程仓库更新本地git pull 命令的作用是:取回近程仓库某个分支的更新,再与本地的指定分支合并// git pull 只从近程仓库把本地没有的文件或内容更新下来,不负责下载.git版本库git pull <近程主机名> <近程分支名>:<本地分支名>例:git pull https://xxx.git master// 将近程主机origin的master分支拉取过去,与本地的brantest分支合并git pull origin master:brantest// 示意将近程origin主机的master分支拉取过去和本地的以后分支进行合并git pull origin master留神: ...

June 21, 2022 · 2 min · jiezi

关于git:关联远程库报remote-origin-already-exists错误

关联近程库命令 git remote add origin https://gitee.com/(github/码云账号)/(github/码云我的项目名).git 会报如下的错: fatal: remote origin already exists. (翻译:近程起源曾经存在。)解决办法如下:1、查看本地库是否关联了origin的近程库 git remote -v 图中能够看到,本地库曾经关联了origin的近程库,并且,该近程库指向Gitee。 2、删除关联的origin的近程库 git remote rm origin3、再次输出关联近程库命令 git remote add origin git@github.com:(github名)/(git我的项目名).git

June 20, 2022 · 1 min · jiezi

关于git:几个常用的-Git-操作

解决本人的用户名和邮箱# 查看本人的用户名和邮箱git config --list# 配置你的用户名和邮箱git config --global user.name 用户名git config --global user.email 邮箱# 配置你的用户名和邮箱(想批改)git config --global --replace-all user.name 用户名git config --global --replace-all user.email 我的邮箱创立 Git 仓库mkdir [project_name]cd [project_name]git init touch README.mdgit add README.mdgit commit -m "first commit"git remote add 近程仓库别名 [remote]git push -u 近程仓库别名 "master"拉取近程仓库到本地# 拉取近程仓库默认分支的代码git clone [remote]# 拉取近程仓库指定分支的代码git clone [remote] -b [branch]更新 .gitignore 文件# 删除所有文件缓存git rm -r --cached .# 把文件增加到本地暂存区git add .# 将本地暂存的批改提交到本地仓库git commit -m 'update .gitignore'# 将本地的分支版本上传到近程并合并git pull && git push创立新分支并提交到近程仓库# 先查看一下以后所在分支git branch # 创立本地分支并切换到新创建的分支git checkout -b [branch]# 把新建的分支 push 到近程,相当于创立一个近程分支git push [remote] [branch]合并分支# 先切换到要进行合并的分支 agit checkout [branch-a]# 把分支 b 合并到分支 agit merge [branch-b]本地代码提交到近程仓库# 把文件增加到本地暂存区git add .# 将本地暂存的批改提交到本地仓库git commit '提交的形容文字'# 将本地的分支版本上传到近程并合并git pull && git push

June 20, 2022 · 1 min · jiezi

关于git:分布式版本控制-Git-最佳实践

一、Git 仓库Git 仓库目录是用来治理代码和数据文件的中央,有两种形式建设 Git 仓库,一种是能够通过 git clone 命令将近程仓库拉取到本地;第二种形式是新建我的项目文件夹并在文件夹中执行 git init 命令执行初始化操作。 在本地仓库中对应用 Git 对文件进行治理分为以下几个步骤: 首先git add 文件名 命令将文件增加到暂存区,接着通过 git status 查看以后状态,最初通过 git commit -m 备注 将文件提交到本地仓库,提交之后能够通过 git log 来查看提交的日志 如果须要一次性增加多个文件到暂存区能够应用 git add .。二、工作区与暂存区如果对已有的文件间接应用 git commit 命令会呈现什么状况? 呈现了谬误并提醒文件被没有被追踪也就是没有被治理,那么为什么不能够间接 git commit 提交到版本历史库呢?设置 暂存区 的目标是为了保障提交的原子性,既每一次提交都是由多个文件组成,而且这个提交也是原子性的,要么全副批改胜利、要么全副失败。原子性提交使得把我的项目整体还原到某个阶段或者工夫点变得即为不便,换句话说就是设立了一个暂存区进能够提交到版本库,万一改错退能够退回改之前的版本,有进有退。

June 17, 2022 · 1 min · jiezi

关于git:Git命令简单使用

Git命令简略应用背景最近常常应用Github,每次批改个文件代码都要在网页端操作,感觉效率低下,所以简答学习理解了一下Git命令。至使于能够在命令行进行治理Git仓库,这样就不须要每次都要关上网页版Github进行操作。 常用命令应用# 拉取服务器代码,更新本地代码,防止笼罩别人代码root@hello:~/Kubernetes# git pull Already up to date.root@hello:~/Kubernetes# # 批改文件root@hello:~/Kubernetes# vim README.md# 将状态扭转的代码提交至缓存root@hello:~/Kubernetes# git add .# 查看以后我的项目中有哪些文件被批改过root@hello:~/Kubernetes# git statusOn branch mainYour branch is up to date with 'origin/main'.Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: README.mdroot@hello:~/Kubernetes# # 将代码提交到本地仓库中root@hello:~/Kubernetes# git commit -m update[main 260d794] update 1 file changed, 25 insertions(+), 25 deletions(-)root@hello:~/Kubernetes# # 将缓存区代码推送到近程仓库root@hello:~/Kubernetes# git pushUsername for 'https://github.com': cby-chenPassword for 'https://cby-chen@github.com': Enumerating objects: 5, done.Counting objects: 100% (5/5), done.Delta compression using up to 8 threadsCompressing objects: 100% (3/3), done.Writing objects: 100% (3/3), 434 bytes | 434.00 KiB/s, done.Total 3 (delta 2), reused 0 (delta 0), pack-reused 0remote: Resolving deltas: 100% (2/2), completed with 2 local objects.To https://github.com/cby-chen/Kubernetes.git a101d22..260d794 main -> mainroot@hello:~/Kubernetes# 留神在push的时候是须要输出token,这个token须要在:https://github.com/settings/t... 进行创立GitHub的README.md文件内容换行,间接在要换行的语句最初打上2个空格。如果你感觉 git add 提交缓存的流程太过繁琐,Git 也容许你用 -a 选项跳过这一步。命令格局如下: git commit -a对于 ...

June 14, 2022 · 1 min · jiezi

关于git:Git-不要只会-pull-和-push学学这-5-条提高效率的命令

应用 git 作为代码版本治理,早已是当初开发者必备的技能,然而大多数的开发者还是只会最根本的保留,拉去,推送,遇到一些 commit 治理的问题就大刀阔斧,或者用一些不优雅的形式解决。 上面分享一些在开发工作中实际过的实用命令,这些都可能大大提交工作效率,还能解决不少疑难场景。 stash 官网文档:https://git-scm.com/docs/git-... git 教程: https://www.bookstack.cn/read... 形容: 官网解释:当您想记录工作目录和索引的以后状态,但又想返回一个洁净的工作目录时,请应用 git stash,该命令将保留本地批改,并复原工作哟目录以及匹配头部提交。 sash 命令可能将还未 commit 的代码存起来,让你的目录变得洁净。 利用场景: 为什么要变得洁净呢? 比方:某一天你正在 v2.0 分支开发新需要,忽然产品经理跑过来说线上有 bug,必须马上修复,而此时你的性能开发到一半,于是你急忙想切到 master 分支,而后你就会看到以下报错: 因为以后有文件更改了,须要提交 commit 放弃工作区洁净能力切分支。因为情况紧急,你只有急忙 commit 下来,commit 信息也轻易写了个 “暂存代码”,于是该分支提交记录就留了一条黑历史。 命令应用: 如果你学会 stash,就不必那么狼狈了,你只须要: 就这么简略,代码就被存起来了。 当你修复完线上问题,切回 v2.0 分支,想复原代码也只须要: 相干命令: 当有多条 stash,能够指定操作 stash,首先应用 stash list 列出所有记录: 利用第二条记录: vscode 集成: stash 代码 填写备注内容,也能够不填间接 Enter 在 STASHES 菜单中能够看到保留的 stash 点击 stash 记录旁的小箭头,再点击 apply 或者 pop 都可回复 stash ...

June 13, 2022 · 3 min · jiezi

关于git:基于Gin框架的web后端开发十-Gin框架中间件

Gin-中间件:Gin框架的作者为开发者们提供的一种机制,能够让开发者自定义申请执行的Hook函数,中间件函数(或者叫Hook函数、钩子函数)适宜解决很多反复的操作的场景(比方登录认证,权限校验,数据分页,耗时统计,记录日志等) ,如果仅仅是一个页面的独有的逻辑间接放到对应的路由下的Handler函数解决即可, 未完待续。。。

June 10, 2022 · 1 min · jiezi

关于git:如何使用git同步上游仓库

 某一天,你在github上看到了一个很棒的仓库,你感觉不错,于是你fork了这个仓库。然而某一天,仓库原作者批改了一些bug和减少了一些性能。依照现实状态下,如同感觉这个源仓库都更新了,那么我拷贝的这个仓库也会主动同步更新吧? 真实情况其实是:并不会自动更新,因为如果git这样设计的话会造成一些不可预知的状况产生。同步源仓库是现实状态下实现的成果,然而如果咱们在实现本人的我的项目的时候,忽然源仓库更新了,后果你当初我的项目的一些逻辑和之前不匹配了,这问题就大了。 在理论开发过程中常常会遇到上这样一种场景,须要同步上游仓库的代码。 办法一回到正题:git如何同步上游仓库(以apisix-dashboard仓库为例) 因为记录这篇文章也是我学习的过程,所以我会从头开始缓缓解说,以不便初学者查阅。 一.首先关上github 看到咱们之前fork过的仓库,点进去会看到醒目的一个Fetch upstream 点击Compare按钮会呈现到一个比拟以后仓库和更新后仓库不同的中央,你能够通过这里简略的查看文件有哪些差别。 点击 Fetch and merge按钮,看到这两个单词,其实咱们曾经能猜出来它的性能是什么了,git fetch and git merge,具体实现了什么,咱们马上就会解释。(上面是点击当前的界面) 这里须要解释分明的是,这一步仅仅是将你本人fork的仓库代码和源仓库代码同步了,然而你本地工作区的仓库还没有更新。 二.回到vscode 执行git pull命令,将近程本人仓库的代码拉到本人的工作区即可。 如果曾经是最新的代码,会呈现上面的提醒。 办法二在这里须要进一步补充的内容是。其实下面的办法是接下来要讲的内容的语法糖(能够这么了解) 咱们某一天不能查看github,然而咱们晓得上游仓库曾经更新,想要把本地仓库更新为最新的上游仓库,和源仓库代码保持一致呢?这样该怎么办呢?(还有一种简略的,把当初的仓库删除,从新fork,而后从新clone也可,这里不探讨) 一.关上终端切换到以后代码门路下 输出git remote,查看你以后近程仓库 这个代表什么意思呢?简略了解就是,本地工作区只和这个origin近程仓库产生关系,不论是fetch 和 push 其实都是操作的这个仓库。如果在当前目录下执行git fetch命令,其实相当于写了git fetch origin master只不过省略了前面的origin mater而已。 那咱们应该如何和近程上游仓库建设起分割呢?这里须要用到git remote add <name> <url>这个命令,具体怎么实现如下: <name>是咱们自定义设置的,要害就是这个url在哪里获取? 首先,点击这里进入到源仓库 而后复制这里的地址即可 切换到终端执行上面命令 输出git remote -v查看当初近程仓库的信息 二.追踪查看上游代码 输出git fetch upstream master命令,留神这里如果应用git fetch其实还是默认拉下来origin的代码,肯定要fetch upstream,这样才是把上游代码拉到本地查看。(我这里写了master,意思就是只拉下来上游master分支查看,省略的话就是拉下全副分支的代码) ...

June 9, 2022 · 1 min · jiezi

关于git:基于Gin框架的web后端开发五-获取URI路径参数

如果想要获取URI上的信息,比方http://127.0.0.1:9090/bill/17的bill和17,咱们能够这样写: package mainimport ( "github.com/gin-gonic/gin" "net/http")func main() { r := gin.Default() r.GET("/:name/:age", func(c *gin.Context) { // 获取门路参数 name := c.Param("name") age := c.Param("age") c.JSON(http.StatusOK, gin.H{ "name": name, "age": age, }) }) r.Run(":9090")}成果如下: 参考:bilibili

June 8, 2022 · 1 min · jiezi

关于git:git-命令四git-rebase-git-commit-amend

git rebase 变基应用场景: 近程分支有新的提交,本地分支也有提交,须要更新本地分支,并且不产生merge commit。应用 git pull -r / git pull --rebase主分支master,开发分支dev。 git pull orgin/master && git checkout dev && git rebase master审慎在主分支上应用 rebasegit commit --amend批改最近一次提交内容,生成新的commitId

June 8, 2022 · 1 min · jiezi

关于git:git-命令三-git-diff和git-log

git diff [<options>] [<commit>] [--] [<path>...]git diff 如果文件在工作区有变动,则比照工作区与上次commit的变动。如果文件曾经暂存(add),且在工作区有变动,则比照工作区与暂存区的变动。git diff --cached 查看暂存区与上次commit的变动git diff head 比照工作区和暂存区 与 上次commit的所有变动git diff branch1 branch2 比照分支git diff commit1 commit2 比照提交以上命令都能够加上 <path> 比照具体文件 git loggit log filename 查看filename 文件的commit记录git log -p filename 查看每次提交的diffgit log -2 展现近两次提交git log -p [commitid] 展现提交的具体差别git log --stat 展现提交的简要差别git log --online 只展现一行git log --graph 展现分支图git log --grep "msg" 过滤git log --graph --pretty=oneline --abbrev-commit

June 8, 2022 · 1 min · jiezi

关于git:git-命令二git-reset-和-git-revert

git resetgit reset 命令用于回退版本,能够指定退回指定提交的版本,并删除该版本之后的所有提交。示例: 提交记录 a -> b -> c -> d, 执行git reset b之后,变为 a -> b git reset [--soft | --mixed | --hard] [HEAD] --mixed 默认参数,保留现有工作区改变,之前的提交的内容复原至工作区--soft 保留现有工作区改变,之前的提交的内容复原至暂存区--hard 删除现有工作去改变,删除之前的所有提交内容(慎用)[HEAD] 为版本号,或者应用head、head^、head~。https://segmentfault.com/a/11...git reset [HEAD] <filename> 回退文件git revertgit revert 命令用于撤销某次提交的改变,并生成一个新的commit记录。 示例:以后提交记录 a -> b -> c -> d, 执行git reset b之后,变为 a -> b -> c -> d -> revert b执行git reset head之后,变为 a -> b -> c -> d -> revert d常用命令革除本地改变 git reset head --hard近程回退 ...

June 8, 2022 · 1 min · jiezi

关于git:git-命令-head^-和-head

head^ && head~ (本人艰深了解,有误欢送斧正)^ 代表分支,依据形态能够了解为叉路口。head^0代表以后所在提交,head^1示意第一叉路,head^2代表第二叉路,以此类推。数字1能够省略,所以head^ === head^1,head^^(两次分叉口都抉择第一条道) == head^1^1 === head^1^ === head^^1。~ 代表位于以后叉路上的上个提交, head~0 以后提交, head~1 或者 head~上次提交,head~~或者head~2,上上次提交,以此类推。数字1能够省略,所以head~1 === head~。 查看提交图:git log --graph --pretty=oneline --abbrev-commit * b21d2e9 (HEAD -> master) Merge branch 'dev2'|\ | * 1ef9e78 (dev2) dev2 第2次提交* | a7430f0 (dev) dev 第2次提交|/ * 1c1f2e4 dev2 第1次提交* 7f442c0 dev 第1次提交* 04ceccc 第3次提交* 5eb938f 第2次提交* c188500 第一次提交head == head^0 == head~0 == head 以后提交 b21d2e9head^ == head~ == head^1 == head~ a7430f0head^^ == head^1^1 == head~2 == head~~ 1c1f2e4head^2 1ef9e78(抉择第二岔路)head^2^ === head^2~ 1c1f2e4head^3 unknown revision or path not in the working tree 没有第三条叉路 ...

June 8, 2022 · 1 min · jiezi

关于git:github使用技巧

github应用技巧快捷键1、首页应用s间接focus搜寻框2、仓库中应用t键间接搜寻文件3、仓库文件里,应用L键间接跳转到对应行数,点击该行后面的3个点即可复制该行4、在仓库里点击。 能够间接用网页内嵌版的vscode进行文件查看,也能装置插件来加强应用体验5、在我的项目地址前加上gitpod.io/#/,能够间接用网页版的近程服务器运行代码例如我的项目地址为https://github.com/ultralytic...,咱们须要将我的项目地址改为:https://gitpod.io/#/github.co...

June 6, 2022 · 1 min · jiezi

关于git:征集|我与vika维格表的一万种可能

许多人用vika维格表解决企业、工作或生存中的问题,施展创造力去冲破场景限度,为本人乃至更多的人带来有限种可能。 燕山大学的李泽玮同学 用维格表解决了冬奥会志愿者信息收集的问题 B 站 up 主 Johnny学 正在用vika维格表创作晋升职场生产力的新课程、新思维 Github 用户 choogoo 基于vika维格表发明了收费的QA问答零碎,帮忙社群管理者主动回复重复性问答 当想象力不再被工具限度,通过vika维格表,你能发明出多少种可能,带来多少人生精彩呢? 当初,「我与vika维格表的一万种可能」打算正式启动:与咱们分享「你是如何应用维格表的」,即有机会取得vika官网颁发的推荐信、「数字架构师」证书和一大批福利。 更重要的是:你的想法计划,将启发、影响更多的人。 如果你是… 是世界 500 强企业的主管,在用vika维格表对每个我的项目进行把控; ♂️ 是新晋「刘畊宏男/女孩」,在vika维格表中制订了一套完满的健身打算; ♀️ 是「大隐隐于市」的开发者大神,轻松玩转维格表不在话下,还进行了二次开发; ... 说切实的,无论你是什么社会角色,无论你提供的是什么类型的可能性,vika维格表都热烈欢迎~ 你须要通知咱们的是…和vika维格表的小故事:你是谁?用vika维格表解决了什么问题?通通通知咱们吧。 用来解决问题的模板:无论是实打实地帮忙企业实现了降本增益,还是帮忙学校、公益组织、某个个人解决了某个利用问题,你的付出与致力都值得被看到。 让咱们更理解你:充斥生存智慧、集体思考的模板与场景?那太好了!不要悭吝,和更多人一起分享你的精彩生存吧~ 你将取得… vika维格表颁发的「数字化低代码能力——优良案例」推荐信,推荐信中会附有官网认证「数字架构师」的证书,真心实意地助力你的职场贬值。 推荐信与证书预览 为你的自媒体/公司推广,让vika维格表的数十万用户看到你的才华。 更多处分:提交的模板将附上你的名字,并且上架到vika官网的模板核心,帮忙数十万用户。最高 12 个月的白银级空间站处分;实用与颜值兼备的vika周边礼包。 处分预览 参加形式1. 填写 报名表,立刻投稿。 *在vika维格表公众号,回复关键词「投稿」也能获取报名表噢~ 2. 还没有想好?或是须要案例倡议? 扫码辨认下方二维码,增加企业微信,vika维格表的小伙伴将助你一臂之力~ 如果想更快、更间接地分享你的故事,能够进入vika维格社区,增加话题「模板征集」公布文章或视频,介绍你的故事案例,也有机会取得奖品噢~ 发动文章输出投稿内容增加话题「模板征集」确认发动 解决一个问题,分享一种可能,期待你的分享。 *本打算最终解释权归深圳维格云科技有限公司所有。

June 1, 2022 · 1 min · jiezi

关于git:vika维格表5月版本更新腾讯云场景连接器小程序上架数据导出再添保障除了暗黑模式还有更多黑科技

同样是在线协同软件,vika维格表到底和别的软件有什么不一样? 在激励高效、数字化工作形式的同时,vika 也心愿每一个用户在互联网时代仍旧领有孩子般的创造力。不论是和积木一样的零碎搭建形式,还是重视色调的界面,都在守护你心田的「小朋友」。 六一儿童节就要到了,vika维格表带来了好多富裕更新想象力的更新,快来看看吧。 性能更新一览: 腾讯云 HiFlow 场景连接器小程序上线,助你疾速搭建办公自动化流程。「暗黑模式」上线,给你全新的视觉体验。平安设置降级:可按人员权限,限度文件导出。「维格列」显示优化:反对列名称换行显示。甘特视图反对自定义显示信息,更加清晰直观。看板视图反对暗藏分组,分组信息个性化显示。更多细节优化:镜像反对对外分享;神奇表单内可间接批改配置信息;空间站治理反对筛选已退出和未退出的成员。 腾讯云 HiFlow 场景连接器一站式打造自动化流程通过腾讯云 HiFlow 场景连接器小程序,不须要一行代码,在vika维格表中就能够连贯更多利用,帮你轻松设置自动化工作流程。模板核心内曾经配置好了相干模板若干,戳模板核心收费应用。 返回小程序官网举荐页即可装置应用,具体介绍能够查看腾讯云 HiFlow 场景连接器 - 你的利用连贯自动化助手。 「暗黑模式」加载实现全新视觉体验「暗黑模式」重磅来袭,能够戳vika 最新黑科技,「黑」出效率新体验理解更多,带你全方位领略暗黑模式的魅力~ 整体页面以深色格调出现,搭配灰白色字体让文本易读的同时予眼睛温顺以待。在集体设置中,点击「个性化」中的「主题」,有浅色、深色以及追随零碎 3 种设置供你自由选择。 平安设置降级可按权限角色限度导出文件管理员能够在空间站的平安设置中自定义数据的安全级别。 在「导出维格表和视图」设置项,降级了更精细化的权限管控:管理员能够设置「只读及以上」、「可编辑及以上」「可治理及以上」3 不同颗粒度的导出限度,数据安全更安心。 列名称反对换行名称再长也能显示当在维格列中须要输出「一个超级长的名称」时,不必拖动列宽也能全副显示了。 在视图工具栏中点击「行高」,并勾选「主动换行」,这样当列的宽度不足以显示列名称的时候,列名称会主动换行进而全副显示。按下快捷键 Shift + Enter ,还能够手动换行。 「维格列」捉迷藏自定义你的甘特视图「工作列表区」和「工作图形图」均可自定义显示的「维格列」数量。 在工具栏中点击「图示暗藏」,就能自定义工作条显示 / 暗藏的列数。能够试试暗藏工作条的所有文字,纯色条更清新。 看板视图实用优化体验感 UP通过「暗藏分组」对信息进行暗藏或者显示,可能疾速筛选出对你而言重要的信息及数据。 偷偷通知你,左侧「未指定分组」也反对此性能哦~ 更多细节优化镜像性能可创立公开链接镜像反对对外分享。在工具栏中点击「分享」即可创立公开可拜访的网址链接,对外同步信息只需 1 秒。 神奇表单反对批改配置信息不须要再返回源表,在神奇表单的预览页就可能对「维格列」进行编辑啦。 不论是批改列名称、列类型、列形容的信息,还是插入新增字段,都能一键搞定,表单编辑更高效。 空间站成员治理反对筛选空间站管理员能够在成员列表中疾速筛选出「未退出空间站」的成员名单。看看是谁还没进空间站? 浏览器输出 vika.cn,收费应用。更多的常见问题和应用小技巧,欢送到维格社区参加探讨~

June 1, 2022 · 1 min · jiezi

关于git:游戏研发不用Excel这家腾讯系公司使用的全流程自动化方案到底是什么

一款国民级游戏,从研发到上线,须要攻克重重困难,起码得经验三、四个不同角色乃至部门之间的拉扯,波及到的角色人员盘根错节,那么——多角色人员协同问题如何解决,游戏资源满天飞的问题又该怎么办? 「QQ炫舞」的主研公司总结 17 年热门游戏研发教训,抉择了vika维格表解决这些难题。 先进的协同玩法,把原先须要 300 人做 2 天的工作量,优化到当初 2 小时就能实现。 明天的主人公,是有着 10 年行业教训的产品经理 A 小姐。带着进步「QQ炫舞」研发团队工作效率的使命,A 小姐退出了某游戏研发公司效率工程部。在厘清团队的基本功和工作流程后,她发现自己和产研团队面临着一个大问题: 游戏策动、美术设计、测试、程序开发日常工作应用到的工具不雷同,然而他们的对接工具却是 Excel。 Excel 的数据结构是非结构化的,革新的过程极其简单和耗时,程序开发就是面向 Excel 开发。 不能上传附件、改变相关联的子表无奈同步、美术设计在埋怨依据命名规定起资源 ID 有如许心累;策动和程序同时改表,两端不会同步;测试 Bug 提交反馈还须要在额定的项目管理保护零碎等等问题。极其内耗的同时还要面对游戏上线的 DDL。能怎么办?只能加班。 A 小姐在外部做了一次全面调研,后果指出,以后急需解决的问题是:「让所有人同屏也同频」。 不久后,好几个部门老大收到了她的专项会议邀请——如何「让大家在同一张表格里做事,既能独立操作,又能突破部门间的壁垒,无缝协同」? 脑暴完结,大家统一决定解脱 Excel,用在线协同软件试试看。 在通过产品部门和效率工程部门大量对标、层层筛选之后,公司最终抉择了——vika维格表。 游戏研发全流程、全角色线上协同游戏行业公司的研发入手能力是毋庸置疑的——连游戏引擎都不在话下,然而事实却是:当初应用的内容制作协同软件还是 Excel。 游戏研发的合作太多事件须要放到线上解决了,Excel 的文件解决起来费时费力,有 300 多号人要用 ,有没有什么方法能让大家能看到我的项目的实时进度和将来打算呢? A 小姐从新梳理了游戏研发工作室的工作流程之后,制订了如下策略: 游戏策动须要主导需要,并设计表的构造; 美术设计要依据游戏策动的需要来制作美术资源; 成果测试要依据美术资源做测试,看是否达到预期; 程序开发要针对策动的需要进行定制化和进一步性能开发。 打算一环扣一环,然而应用 Excel 却很难串联起来。 为了能达到料想中的成果,A 小姐分割了咱们的vika维格表官网客服。当天下午,就有几位衣着「vika」字样 T 恤的年轻人,夹着电脑来到了公司。 意外的是,还没怎么解说,A 小姐就曾经理解了维格表产品的全貌。 没过几天,A 小姐就拉着整个游戏研发部门的 300 多号人开始应用产品。「匹配度太高了!」 在体验到维格表的丝滑后,他们决定,把游戏我的项目全流程搬上来。 ...

June 1, 2022 · 1 min · jiezi

关于git:vika维格表-4-月更新完成认证享福利镜像支持-Excel-导出到期提醒功能上线还有更多细节优化

五一小长假要来了~vika维格表筹备了惊喜福利(在文末),提前祝大家节日愉快。除了惊喜,vika维格表还筹备了更新、优化,让你更有效率地迎接假期,快来看看~ 性能更新一览: 镜像数据反对 Excel 导出,格局转换无障碍。维格行上线「关注」性能 ,数据变动实时揭示。3.「日期字段」可设置到期时主动揭示相干人员。 4.小程序优化:可全屏显示、反对 URL 分享。 5.记录卡片优化:列形容主动显示、调整按钮地位。 6.解冻列性能上线:固定所需维格列,查看、编辑更便捷。 7.更多细节:API 新增接口;更多功能模块的 URL 反对跳转。 8.惊喜福利:实现空间站认证就送收费附件容量。 「镜像」新增导出性能格局一秒转换镜像反对 Excel 格局导出啦,只有右键菜单中选择「导出为Excel」文件即可 1 秒导出。涉外单干、递交材料更便捷,缩小工具摩擦。 胆怯错过重要信息「关注」「工作揭示」来帮你「关注」性能,数据变动主动揭示。开展维格行,在记录卡片右上角点击「关注」,即可关注对你而言重要的数据或信息。你还能够在维格视图下,批量抉择若干行,进行批量「关注 / 勾销关注行数据」操作。 反对单 / 多条数据的更新、单 / 多条数据的新增评论的事件揭示。利用「关注」性能实时把握数据变更动静,不错过任何重要信息。 日期字段可设置「到期揭示」重要工夫节点怕遗记?快来试试「到期揭示」性能。在「日期字段」能够间接设置须要揭示的具体工夫和成员。 如果你曾经应用了飞书、钉钉、企微等 IM 软件,不仅在vika维格表的空间站会收到揭示,还能够设置工作揭示到相应的软件。 小程序又降级应用感直线回升小程序反对全屏展现,和盘托出更清晰。 同时,全屏后页面 URL 会带上参数,间接复制就能够分享给共事啦。 不仅如此,小程序入口新增了数字显示,用于显示以后维格表已装置的小程序数量。 记录卡片多项优化难看更好用本次更新后,评论动静、批改历史记录、全副动静、翻页按钮挪动到开展记录卡片右上角,切换更加不便。 有没有关上了「记录卡片」,却不晓得如何正确填写的状况? 当初列(字段)形容信息会默认显示,成员可直观依据形容理解、标准本人所须要填写的内容。 如果你曾经晓得了规定,只需点击「¡ 」敞开,或点击卡片右上角的菜单,敞开「显示列的形容信息」即可。 解冻列性能上线查看、编辑更便捷当维格列较多时,横向滚动列表无奈固定,查看、比照所需信息总是反反复复怎么办?「解冻列」性能上线了。 想固定显示多个维格列内容时,可设置解冻列来疾速聚焦你所须要查看、编辑的的内容。 更多细节优化API 新增接口能够通过 API 接口创立新的表单,新增「创立字段」和「删除字段」两个接口,可利用新接口实现更多的性能场景。 更多详情可查看帮忙文档 API 接口文档。 更多功能模块的URL链接反对跳转在开展的记录卡片、记录评论、神奇表单、各个视图中,URL 链接都反对点击跳转啦。 ...

June 1, 2022 · 1 min · jiezi

关于git:合作开发git提交流程

流程图 具体流程从我的项目仓库拉取最新代码到本地。提交代码到本地仓库。将更改推送到集体近程仓库。从集体近程仓库发动代码评审。由评审员进行代码评审。评审后果不通过,评审发起者须要批改代码,回到第2步。评审后果通过,由评审发起者确认合并之后代码改变被合并到我的项目仓库。

May 31, 2022 · 1 min · jiezi

关于git:git常用命令

一、从本地拉取近程代码(1) 近程仓库配置好ssh,确保有权限拉取代码(2) 拉取近程仓库代码 git clone http/ssh/XXXXXX 拉取近程仓库代码git clone -b develop http/ssh/XXXXX 拉取近程develop分支的代码 (-b develop 拉取某分支)(3) 进入我的项目中 cd project(4) 如果装置了淘宝镜像,则能够采纳cnpm 装置依赖,否则用npm npm install cnpm install(5) 依赖装置结束后,运行依据我的项目指定形式,个别为 npm run dev npm run start(6) 我的项目打包 npm run build二、从本地推送代码(dev)至近程仓库(master)(1) 将本地变动的代码内容载入暂存区 git add .(2) 将此次提交操作命名备注 git commit -m "" 如果代码装置了eslint,则git commit须要禁止校验 git commit -m "" --no-verify(3) 切换至近程仓库要提交的分支,假如是master git checkout master(4) 确保本地的master是最新的代码 git pull origin master(5) git在本地仓库master分支上拉取dev分支代码 git pull origin dev(6) git解决抵触,推送代码至近程仓库 ...

May 31, 2022 · 1 min · jiezi

关于git:git简单入门

一、装置git间接官网下载,继续按下一步即可。 二、配置git1、git bash关上后输出一下命令,否则Git无奈应用 git config --global user.name xxxgit config --global user.email yyygit config --global push.default simplegit config --global core.quotepath false2、输出命令生成秘钥 ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com" //邮箱更换成本人的而后间接三个回车会生成id_rsa 和id_rsa.pub文件cat ~/.ssh/id_rsa.pub //输出命令关上id_rsa.pub复制内容,在GitHub里新建SSH文件保留即3、配置小插件(命令应用与查问) 输出命令装置:npm install -g tldr三、应用git仓库的办法1、本地建设仓库 能够在桌面或在D盘建设一个名为xxx的文件夹;右击git bash关上;输出命令git init回车,初始化仓库主动生成.git文件;而后用户进行自定义创立,批改等步骤;随后输出命令git add 文件名,把文件暂存;输出命令git commit -m “XXX”2、将本地仓库上传到github上在GitHub建设新的仓库,命名为xxx,与本地仓库名统一;本地仓库批改实现了def的步骤后,顺次在gitbash输出一下命令,间接复制最好;如果你有本地仓库,就间接输出第四行和第五行命令就行; echo "abc" >> README.mdgit initgit add README.mdgit commit -m "XXX"git remote add origin git@github.com:xxx/xxx.git git push -u origin master3、从github上下载仓库 进入一个仓库,复制ssh地址建设一个文件夹用Git Bash关上,输出命令git clone “ssh地址”4、vscode批改上传到github 本地仓库实现初始化后生成了.git 文件,把整个文件夹用vscode,在vscode中新增批改代码,分支上传、推送,刷新github仓库页面。5、github page预览html ...

May 29, 2022 · 1 min · jiezi

关于git:CentOS更新Git

增加 End Point 到 CentOS 7 仓库yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm 更新gityum install git 更新后的版本 [root@localhost hw]# git --versiongit version 2.36.0IDEA2021.3对git版本有要求

May 28, 2022 · 1 min · jiezi

关于git:git常用指令

git initgit add <file>git commit -m "explain info"git push [-u] <repos branch>git loggit statusgit config -lgit config user.name(or email) " "git remote [-v] #查看本地增加了哪些近程地址git remote add <repos> <address>git remote remove <address>git fetch <repos branch> #拉取近程仓库的内容,不进行合并git pull <repos branch> #拉取近程仓库的master分支后与以后本地分支间接合并git clone [-b <branch>] <address> #复制近程指定分支下代码,-b 分支名称git branch <branch> [-a/-r] [-d] #创立分支,查看全副/近程分支,删除本地分支git branch -m <old_branch> <new_branch> #本地分支重命名git switch <branch> #切换分支git push <repos> -d <branch> #删除近程分支

May 26, 2022 · 1 min · jiezi

关于git:如何将项目使用Git上传到GithubGitee

我的博客 开始下载 Git Bash选中想上传到 GitHub 的文件夹,右击抉择 Git Bash Here 之后进入到 Git Bash 界面 初始化 git init将所有文件增加到仓库中 git add .留神: add 前面加个空格再加个".",这里没有打错! 像这样就胜利了 连贯近程仓库 git remote add origin 仓库地址将add的文件 commit 到仓库 git commit -m "正文语句""正文语句": 对 我的项目/文件 的正文介绍 像这样就 O98K 了 提交最初间接进行提交!  git push origin master 像这样就提交胜利啦!快去 GitHub 上看看吧。

May 25, 2022 · 1 min · jiezi

关于git:Day-66100-使用VSCode时Git-新建文件无法被识别

(一)需要应用Git新建文件无奈被辨认,删库,再建还是不行。有点解体。 (二)介绍1、锚点可能是文件创建时被忽略了 2、步骤:查看所有改变文件和被疏忽的文件;git status --ignored 进行强制增加该文件的残缺门路即可;git add -f file发现好使,VSCode可能辨认了;以上 参考链接https://leetcode.cn/leetbook/... 写在最初的话学习路上,经常会懈怠《有想学技术须要监督的同学嘛~》https://mp.weixin.qq.com/s/Fy...

May 17, 2022 · 1 min · jiezi

关于git:git-commit-规范

提交代码时的commit内容不明确不残缺。当回溯代码的时候,很难通过commit内容定位历史记录,只能一条一条查看,找不到就要去问历史参加开发的其余共事,沟通老本太高了。 为了提搞回溯的效率,不便定位问题,定义如下commit标准: <type>: 【<scope>】<subject> 每个提交都必须应用类型字段前缀,它由一个名词组成,诸如 feat 或 fix ,其后接一个作用域字段,以及一个必要的冒号(英文半角)和空格。 type:提交类型;scope:批改文件影响的范畴,影响到全局,能够加个 global。如果影响的是某个目录或某个性能,能够加上该目录的门路,或者对应的性能名称(比方字体,layout布局,utils,router,工作台,市场,卡片编辑,组装卡片,PPT,治理后盾,团队权限等);subject:用一句话分明的形容这次提交做了什么,波及到难发现/复现的bug(也能够加上形容为什么批改, 做了什么样的批改, 以及开发的思路等);commit type类型: feat:新性能fix:修补bugdocs::文档批改refactor:代码重构或性能优化(比方重构:既不是新增性能,也不是批改bug的代码变动;perf: 在不影响代码外部行为的前提下,对程序性能进行优化;style:代码格局批改,不影响代码运行的变动,不影响代码逻辑)chore:其余杂项(比方构建过程或辅助工具;deps: 降级依赖;test: 测试用例新增、批改;build: 影响我的项目构建或依赖项批改;revert: 复原上一次提交;ci: 继续集成相干文件批改;release: 公布新版本;workflow: 工作流相干文件批改)比方:refactor: 【utils】新增相对路径转换方法relativePath2FullPath

May 16, 2022 · 1 min · jiezi

关于git:Git相关指令

一、从git仓库上拉代码git clone yourGitHttpUrl 二、查看近程仓库地址git remote -v 三、创立分支和切换分支git checkout branchName

May 16, 2022 · 1 min · jiezi

关于git:git使用

git根本应用一、git理解git是一款分布式的版本控制系统 对版本库的治理,版本库就是寄存了多个代码版本,应用时,相当于能够后悔药,能够回退到某个版本 分布式,散布到每个电脑上,都有本人的版本库,能够本地对版本进行治理,无需网络 分布式对应的就是集中式,版本库在地方服务器,版本的治理须要提交到服务器中进行,须要网络a.git装置git for windows,下载地址: https://github.com/git-for-windows/git/releases/latesthttps://git-scm.com/download/win应用: git版本查看 git --version b.git配置全局配置文件为 C:\Users\uername.gitconfig ,执行任何Git配置命令后文件将主动创立。配置个人信息命令: git config --global user.name "jiang"部分初始化版本库: git init // 会在以后文件夹目录下,初始化新建一个版本库文件.git// 配置部分版本库个人信息命令 git config --global user.name "jiang"//用sublime关上配置文件查看subl .git/configc.克隆我的项目git clone https://gitee.com/lavard/tailwind-css.git// 删除 文件夹rm -rf tailwind-css二、git罕用操作1.git操作控制剖析把文件提交到把版本库: // 查看生产车间(工作区)状态git status// 从生产车间(工作区)增加到运输车(暂存区)git add a.jsgit add . //提交所有文件// 将运输车(暂存区)所有文件提交到版本库git commit -m 'test commit'// 配置.gitignore疏忽文件*.txt!a.txtvendor/data.json删除版本库文件: // 同时删除版本库文件与工作区文件git rm readme.txt// 删除版本库文件的同时,保留工作区文件git rm --cached readme.txt批改把版本库文件: git mv msg.js data.jsgit add data.jsgit commit -m 'msg.js to rename data.js'查看git日志文件: ...

May 12, 2022 · 2 min · jiezi

关于git:Git本地连接远程仓库

Git本地连接近程仓库初始化近程仓库(复制连贯)本地新建文件夹,当前你的代码就是丢在外面了.右击鼠标,抉择 Git bash git init //初始化仓库 touch 文件名.txt //新建一个测试文件,测试提交和连贯是否胜利vi 文件名.txt //进入txt文件,按insert进入编辑内容,编辑实现后,按esc退出编辑,:wq //保留并退出git remote add origin https://gitee.........(你的近程仓库的连贯) //连贯仓库git pull origin master //拉取近程仓库内容git add . //将本地所有文件增加到仓库git commit -m"正文" ///进行提交正文git push origin master //推送到近程仓库,本地与近程连贯胜利~ 10-12的步骤是你当前把代码更新后,推送到近程的通用操作,add前面能够只跟某一个文件

May 9, 2022 · 1 min · jiezi

关于git:git添加公钥

1、首先须要查看你电脑是否曾经有 SSH key运行 git Bash 客户端,输出如下代码: $ cd ~/.ssh$ ls这两个命令就是查看是否曾经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件曾经存在,那么你能够跳过步骤2,间接进入步骤3。 2、创立一个 SSH key$ ssh-keygen -t rsa -C "your_email@example.com"代码参数含意: -t 指定密钥类型,默认是 rsa ,能够省略。-C 设置正文文字,比方邮箱。-f 指定密钥文件存储文件名。 以上代码省略了 -f 参数,因而,运行下面那条命令后会让你输出一个文件名,用于保留方才生成的 SSH key 代码,如: Generating public/private rsa key pair.# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]当然,你也能够不输出文件名,应用默认文件名(举荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。 接着又会提醒你输出两次明码(该明码是你push文件的时候要输出的明码,而不是github管理者的明码), 当然,你也能够不输出明码,间接按回车。那么push的时候就不须要输出明码,间接提交到github上了,如: Enter passphrase (empty for no passphrase): # Enter same passphrase again:接下来,就会显示如下代码提醒,如: Your identification has been saved in /c/Users/you/.ssh/id_rsa.# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.# The key fingerprint is:# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com当你看到下面这段代码的收,那就阐明,你的 SSH key 曾经创立胜利,你只须要增加到github的SSH key上就能够了。 ...

May 9, 2022 · 1 min · jiezi

关于git:Jenkins

一、继续集成团队成员,将⾃⼰的工作成绩,集成到⼀个公共平台上。成员能够每天集成⼀次,也能够⼀天集成屡次相干工具 git:代码治理⼯具。⾃带 本地仓库gitee:近程代码治理仓库。github:国外服务器近程代码治理仓库。gitlab:企业公有服务器近程代码治理仓库jenkins:实现继续集成,治理测试脚本,⽣成测试报告,发送邮件二、Jenkins简介 基于Java开发(须要jdk)的⼀种开源、跨平台(windows、Linux、MacOS)的继续集成工具装置 官网jdk:https://www.oracle.com/java/technologies/downloads/java -version 查看版本启动将 jenkins.war ⽂件,保留到⼀个⽬录中,地址栏输⼊ cmd 关上终端。输⼊命令 java -jar jenkins.war 启动服务。启动胜利后,终端不能敞开! 在浏览器地址栏中输出:localhost:8080,回车 三、Jenkins相干配置3.1、 插件装置 3.2、 零碎设置 四、 继续集成-postman4.1、筹备工作关上已实现并测试⽆误的 postman 项⽬脚本。 再次执⾏测试。导出( 测试⽤例集、环境变量 两个⽂件)“不 ⽀ 持 中 ⽂” —— 全副改成英⽂!⽂件所在⽬录地址栏 输⼊ cmd 关上终端。留神:⽤ “绝对路径” 测试。⽅便使⽤ Jenkins。执⾏⽆误, 查看⽣成的测试报告⽂件4.2、使⽤Jenkins治理-⼿动构建关上 Jenkins ⾸⻚,点击 “新建Item” 创立⼀个 新工作输⼊工作名,如:bjtestAPITestIHRMPostman。抉择 “Freestyle project”,点 “确定” 。跳⾄ “配置”⻚⾯。回主⻚,可看到 ,多出工作 bjtestAPITestIHRMPostman。 点 工作名称,“配置” 能够持续方才的配置 跳⾄ “构建” 标签“构建后操作” 标签 在 ⾃动跳⾄ ⻚⾯中,点击 “Build Now”,可在下⾯ Build History(构建历史)中, 看 到 构 建 正 在 进 ⾏ ...

May 8, 2022 · 1 min · jiezi

关于git:Git-技巧之高级配置用户信息

惯例家喻户晓,日常配置git用户信息的形式通常是: git config --global user.name '用户名'git config --global user.email '邮箱'全局形式配置,写入到 ~/.gitconfig文件中,这种形式显然只能设置最罕用通用的 用户信息,而后在须要局部仓库(如公司我的项目)须要非凡配置时,只能再通过上面的形式配置。 git config --local user.name '用户名'git config --local user.email '邮箱'本地仓库配置,写入到以后仓库.git/config文件中,这种形式进步了灵活性,但我的项目多了也须要一个一个配,而且如果工程目录变更,或者新增了其余须要非凡配置的我的项目,也都须要每次设置,还是比拟麻烦。 includeIf属性git在2.13.0版本中,配置新增了includeIf属性,此属性就是为了解决,上述只能 全局和单个 的缺点。 应用形式,编辑~/.gitconfig,新增如下: [includeIf "gitdir:~/webserver/php/dd/"] path = .gitconfig-dd[includeIf "gitdir:~/webserver/code/"] path = .gitconfig-self阐明:includeIf能够呈现多个,每个includeIf的作用便是:给指定目录应用指定的配置信息。留神:这里的 目录 无需具体某个仓库,即在该目录之内的所有仓库,默认都会继承该配置。 要害参数: "gitdir:~/webserver/php/dd/"中的~/webserver/php/dd/为目录地位path = .gitconfig-dd中的 .gitconfig-dd 为对应的配置文件查看一下.gitconfig-dd内容: [user] email = silence@dd.com name = DilenceDD其语法跟git config语法一样。 测试:这个时候间接在~/webserver/php/dd/目录执行git config user.name是有效的,须要到该目录下任何一个git仓库目录中执行。留神,如果该仓库之前已配置user信息,能够在仓库根目录编辑.git/config,而后把[user]相干信息删除,再执行git config user.name即可。 参考git config 官网文档

May 8, 2022 · 1 min · jiezi

关于git:git-cherrypick从问题分支里分离正常commit

背景有时候,咱们的分支合并了他人的有问题代码的分支,为了不被问题代码影响进度,须要给本人没有问题的代码从新拉一个分支 操作找到本人这个分支最早的提交日期,用git log命令找到这个日期之后所有的本人的提交,剔除所有合并提交(Merge Commit),并且逆序保留到文件里。 git log --since={first_commit_date} --reverse --author={your_name} --no-merges --pretty=%H {your_branch} > commits.txt从master拉一个新分支,用git cherry-pick把commit全副合并到新分支上 git cherry-pick `cat commits.txt`异样QAThe previous cherry-pick is now empty, possibly due to conflict resolution.阐明以后的commit脱漏了前置的commit,没有这个commit后续的都合并不了,须要排查下是否脱漏了他人的或者这个日期之前的commit。也可能是你在合并提交里手动批改了代码,这个合并提交也须要合并进来,这时候会报上面的谬误 error: commit {id} is a merge but no -m option was given.阐明git log找到的commit里有合并提交,cherry-pick不晓得合并合并哪个的,须要指定选项-m,要哪个分支的代码参数就是几

May 6, 2022 · 1 min · jiezi

关于git:同为博客不同风格-Hexo另类搭建

简介:通过阿里云云开发平台疾速由Hexo创立赛博朋克格调的博客。 一 、通过云开发平台疾速创立初始化利用1.创立相干利用模版请参考链接:Hexo博客框架—轻量、一令部署 2.实现创立后就能够在github中查看到新增的Hexo仓库 二 、 本地编写《赛博朋克格调》集体博客1.将利用模版克隆到本地首先假设你曾经装置了Git、node,没有装置请移步node官网进行装置。克隆我的项目:git clone + 我的项目地址 进入我的项目文件cd hexo 切换到feature/1.0.0 分支上git checkout feature/1.0.0 应用一下命令全局装置 Hexo CLI :npm install -g hexo-cli 进阶装置和应用对于相熟 npm 的进阶用户,能够仅部分装置 hexo 包。 npm install hexo 装置依赖包npm install 启动服务npm run server 这里关上浏览器4000端口,并呈现默认页面。 2.案例成果预览 3.更换为 lcarus 主题更换主题也非常简单,咱们查看 Icarus 文档。更换主题次要有两种形式,一种是应用npm装置主题的形式,另一种是下载源码放到 theme 文件夹的形式。简略起见,咱们先采纳npm 的形式: $ yarn add hexo-theme-icarus 应用 hexo 命令批改主题为 lcarus: $ npx hexo config theme icarus 启动服务器,很可怜,报错了: 提醒很分明,短少依赖,咱们增加依赖: $ yarn add bulma-stylus@0.8.0 hexo-renderer-inferno@^0.1.3 ...

May 6, 2022 · 2 min · jiezi

关于git:git-rebase-vs-git-merge

一、git rebase解决什么问题git merge 命令存在两种情景1、 fast-forward (以后分支的base与master最新commit统一)2、 no-fast-forward (以后分支的base与master最新commit不统一)git rebase就是将no-fast-forward变成fast-forward 二、时间轴比对应用rebase应用merge 三、场景上游(dev)分支更新上游(master)分支内容,应用rebase上游(master)分支合并上游(dev)分支内容,应用merge以后分支更新操作:git pull origin dev --rebase以后分支rebase之后:git push origin dev --forcegit rebase 个别只用于非master分支,比方在dev分支中执行git rebase master,master分支始终作为基准分分支git merge 能够在任何分支merge其余分支,比方在master中merge dev,也能够在dev分支中merge master 另一种场景:fork我的项目,提交pr更多的时候采纳git rebase 四、rebase劣势rebase提供一套清晰的代码历史。在咱们以后的oceanus我的项目开发中,分支只存在于迭代的开发中,开发实现之后个性分支保留一段时间之后就会被删除,所以采纳merge合并代码的网格记录对于咱们来说,其实没什么价值。另外最近一段时间存量迭代较多,导致一个个性分支公布之后,每个存量迭代对应的分支代码都会进行一次merge,会无形之中增加很多 merge branch master into ... 记录。merge合并代码是按commit提交的工夫来解决,所以Merge branch 'v4.6-subnet' into v4.6.0-savepoint相似的提交与理论的commit可能相隔很远,而且commit与其余分支的commit交错在一起,导致某一个实现性能开发的代码提交记录被宰割。rebase因为存在commit refresh,所以commit在提交之后追加到上游分支,成线形记录。 优质文章举荐:https://zhuanlan.zhihu.com/p/...

May 6, 2022 · 1 min · jiezi

关于git:git

罕用 Git 命令应用教程 0x01 Git 配置1. 在装置实现 Git 后,开始正式应用前,是须要有一些全局设置的,如用户名、邮箱。设置的次要命令是 git config: git config --global user.name "your name" // 设置全局用户名git config --global user.email "your email" // 设置邮箱其中, --global 指定为全局配置,不应用该参数,则为以后所在仓库配置。 2. 除了用户名、邮箱之外,还有很多的配置能够用来自定义 Git,如:git config --global color.ui true // 让 Git 显示不同的色彩git config core.ignorecase true // 让 Git 对仓库中的文件大小写敏感3. 查看所有的曾经做出的配置:`git config -lgit config` 0x02 根底操作1. 创立 Git 版本库在本地创立 Git 版本库,须要应用 git init 命令。 首先,你须要新建一个寄存版本库的目录,而后进入到该目录所在门路,而后执行: git init而后查看目录构造中,就能够看到蕴含有 .git 子目录,这就阐明创立版本库胜利了。 git init 2. 将文件增加到版本库要将一个文件纳入到版本库治理,首先要将其增加到暂存区(这里不做深刻介绍),而后能力提交到仓库中。 ...

May 5, 2022 · 3 min · jiezi

关于git:聊聊如何验证线上的版本是符合预期的版本

前言当咱们想晓得部署我的项目的哪个版本有问题?当咱们想晓得线上运行的版本是否是咱们预期的版本?当咱们想把部署的版本与代码进行关联?如果是你用git来做版本治理,那就能够应用git-commit-id-maven-plugin插件来实现上述性能。 git-commit-id-maven-plugin插件,会依据以后分支的版本号生成一个git.properties文件。git.properties内容形如下 git.branch=mastergit.build.host=xxxgit.build.time=2022-03-01T20\:33\:43+0800git.build.user.email=aaa@qq.comgit.build.user.name=aaagit.build.version=1.0-SNAPSHOTgit.closest.tag.commit.count=git.closest.tag.name=git.commit.id=6dab4430864e3e4a9fc1ba6f6b93f278100d4e2egit.commit.id.abbrev=6dab443git.commit.id.describe=6dab443-dirtygit.commit.id.describe-short=6dab443-dirtygit.commit.message.full=Add README.mdgit.commit.message.short=Add README.mdgit.commit.time=2022-03-01T16\:24\:48+0800git.commit.user.email=aa@examplegit.commit.user.name=aagit.dirty=truegit.remote.origin.url=http://hellogit.tags=git.total.commit.count=1如何应用本文以springboot我的项目为例,springboot我的项目的parent pom外面曾经内嵌git-commit-id-maven-plugin插件治理依赖。如下 <pluginManagement> <plugins> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <executions> <execution> <goals> <goal>revision</goal> </goals> </execution> </executions> <configuration> <verbose>true</verbose> <dateFormat>yyyy-MM-dd'T'HH:mm:ssZ</dateFormat> <generateGitPropertiesFile>true</generateGitPropertiesFile> <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename> </configuration> </plugin> </plugins></pluginManagement>因而咱们的我的项目中能够做如下配置 1、在咱们的我的项目中显式引入git-commit-id-plugin插件 <build> <plugins> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> </plugin> </plugins> </build>2、通过和actuator集成,显示git信息a、在我的项目中引入actuator GAV <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>b、浏览器拜访http://ip : port/actuator/info 如果感觉下面的信息不够多,咱们能够通过自定义端点或者本人写一个controller把信息展现进去 具体的信息能够通过org.springframework.boot.info.GitProperties展现 本示例以自定义端点为例。示例如下 @Endpoint(id = "git")@Componentpublic class GitEndpoint { @Autowired(required = false) private GitProperties gitProperties; @ReadOperation public Object info() throws IOException { if(ObjectUtils.isEmpty(gitProperties)){ return new HashMap<>(); } return gitProperties; }}在application.yml中凋谢自定义端点 ...

May 3, 2022 · 1 min · jiezi

关于git:如何编写Git提交信息

为什么好的提交信息很重要?如果你轻易浏览一下 Git 仓库的日志,你可能会发现它的提交信息或多或少都是一团糟,例如,看看我晚期提交Spring的时候的这些提交: $ git log --oneline -5 --author cbeams --before "Fri Mar 26 2009"e5f4b49 Re-adding ConfigurationPostProcessorTests after its brief removal in r814. @Ignore-ing the testCglibClassesAreLoadedJustInTimeForEnhancement() method as it turns out this was one of the culprits in the recent build breakage. The classloader hacking causes subtle downstream effects, breaking unrelated tests. The test method is still useful, but should only be run on a manual basis to ensure CGLIB is not prematurely classloaded, and should not be run as part of the automated build.2db0f12 fixed two build-breaking issues: + reverted ClassMetadataReadingVisitor to revision 794 + eliminated ConfigurationPostProcessorTests until further investigation determines why it causes downstream tests to fail (such as the seemingly unrelated ClassPathXmlApplicationContextTests)147709f Tweaks to package-info.java files22b25e0 Consolidated Util and MutableAnnotationUtils classes into existing AsmUtils7f96f57 polishing将其与同一存仓库中中最近的提交进行比拟: ...

April 28, 2022 · 3 min · jiezi

关于git:git

git和集中式版本治理仓库的区别操作本地仓库git不必连贯网络就能够间接操作版本库(每台电脑都有一个仓库,操作的是本地仓库)为什么这么说呢?git是分布式版本控制系统,每一台电脑都有一个属于本人的仓库。仓库能够了解成一个目录,这个目录里的所有文件都能被git治理起来,每个文件的增删改都能够被记录,还能够进行版本回滚。示例操作 初始化仓库 mkdir gitTest 创立文件文件夹 cd gitTest 进入到文件夹 git init 初始化git仓库 创立一个js文件 hello.js 编写js代码当初批改的代码咱们称之为工作区 let obj={ a:1, b:2 };执行命令提交到本地git add hello.js 把hello.js这个文件放到缓存区git commit -m "提交一个文件hello" 这个就是提交到本地仓库了。 -m和文字内容是提交要加形容和评论,为了本人看懂本人改了什么和他人看你改了什么 正在批改的代码叫工作区,add之后的代码是缓存区,commit之后的代码是本地仓库查看提交记录咱们将这个文件屡次批改屡次执行add和commit操作,提交到本地仓库,而后应用上面的命令能够查看提交记录 git log --pretty=oneline --abbrev-commit 回退版本 回退指定版本既然有记录就能够回退,执行以下命令git reset --hard commit_id 这个hard必须要,这个commit_id就是你上边看到的那个每次提交的id 回退到上一版本 git reset --hard “HEAD^” 新写的代码写乱了或者删除了文件想复原从新写怎么办(在工作区)执行以上操作即可复原到和本地仓库一样的版本常用命令下面到过的git add 和 git commit -m 'xxx'git status 批改文件后查看文件状态git status,能够让咱们把握仓库以后的状态,上面的命令输入通知咱们,hello.js被批改过了,但还没有筹备提交的批改。 git diff 应用git diff能够查看工作区绝对于缓存区具体批改了哪里git log --pretty=oneline查看历史记录git reset --hard commit_id回退指定版本git reset --hard “HEAD^”回退上一版本git reflog当咱们回退到某一版本,然而第二天又悔恨了,能够应用git reflog查看每一次的操作记录,就能够依据操作记录来进行指定的版本的复原了git checkout --filename新写的代码写乱了或者删除了文件想复原从新写时,命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。git reset HEAD filename如果曾经提交到了缓存区也能够应用此命令从缓存区撤回git rm filename在git中删除某一个文件 而后应用git commit -m 'xx',文件就从版本库中删除了删除的文件怎么复原git rm filename 相当于是删除工作目录中的filename文件,并把此次删除操作提交到了暂存区。应用git checkout -- filename相当于是让工作目录filename复原到暂存区中filename的状态,然而工作目录中filename曾经被删除,无奈找到文件来再次删除所以报错,必须先应用git restore --staged filename在暂存区中将删除操作抛弃,而后在git checkout -- filename就是间接将工作目录中filename复原到版本库中的状态。本地仓库关联近程仓库git remote add origin git@github.com:<github用户名>/<咱们刚刚创立的仓库名称>.gitgit push -u origin master近程仓库是空的所以加上-u,这行命令是将本地的master内容推送到近程master分支上,并进行关联git remote -v查看关联的近程版本库git remote rm origin勾销与名称为origin近程仓库的关联操作,这里的origin是近程仓库的名字,如果有改变须要将命令行中的origin换成批改之后的名字git checkout -b dev创立分支并切换git branch dev创立名叫dev的分支git checkout dev将分支切换到devgit branch查看以后分支git merge dev合并dev分支git branch -d dev删除dev分支git stash当有紧急任务须要切换分支时应用这个命令存储以后分支的代码git stash list查看缓存列表git stash pop复原代码并删除缓存记录 ...

April 26, 2022 · 2 min · jiezi

关于git:git-stash的使用

以后开发我的项目170版本,忽然160版本有个bug须要解决,但近程dev上曾经有170的代码了。1、本地dev分支上能够git stash save "170",将以后170的代码批改存储起来,2、切换分支到master,从master上拉取近程代码(本地成为160代码)3、本地新建分支161并切换到161分支4、解决bug5、提交代码到161分支,6、切换到master分支,合并161分支代码7、推送到近程master代码8、测试测试验证结束后打1.6.1 的tag9、切换回dev分支 应用git stash pop命令复原存储的内容

April 26, 2022 · 1 min · jiezi

关于git:从零开始快速搭建本地-Kubernetes-测试环境

By 胡涛 (@daniel-hutao) | 18.04.2022 从零开始疾速搭建本地 Kubernetes 测试环境从零开始?从零开始! var 零=99 // 别缓和,Just a jok。 Let’s Get Started! 概述“Kubernetes 集群部署”严格来说是一个简单的技术活,有很多的可选计划。要交付一套聚拢“最佳实际”的高可用集群有很多须要思考的技术细节。对于如何部署“真正高可用的 Kubernetes 集群”不在本文的探讨范畴,所以明天咱们的指标是应用一种简略的形式疾速部署一个可用的 Kubernetes 环境。这套环境次要用于满足 DevStream 的开发测试需要。 疾速部署 Kubernetes 有好几种可选计划,比方 Minikube 和 Kind。 Minikube最先基于虚拟化实现(新版本也反对容器化实现了),也就是通过 virtualbox 或者 kvm 等工具在本地创立若干虚拟机,而后在虚拟机中运行 Kubernetes 集群,一个节点也就对应一台虚拟机。Kind 通过容器化实现,也就是通过 Docker 在本地启动若干容器,每个容器充当 Kubernetes 的一个节点,在容器内再运行容器化利用。本文咱们抉择用 Kind 这种“容器中跑容器”的形式来搭建 Kubernetes 环境。当然如果大家有其余善于的工具,也齐全能够用,咱们的目标仅仅是疾速部署一套可用的 Kubernetes 集群环境。 本文以 macOS 作为开发环境,应用 Linux 或者 Windows 零碎作为开发环境的同学能够参考本文的办法,相应地做一些灵便调整。 Docker 的装置在 Linux 下装置 Docker 是一件非常简单的事件,Docker 的外围原理就是基于 Linux 的 Namespace 和 Cgroup 等机制。不过在 macOS 和 Windows 下就须要通过虚拟化技术间接应用 Docker 了。当然咱们当初曾经不须要先装置虚拟化软件而后本人装置 Linux 虚拟机,再应用 Docker 了。咱们能够间接在 docker.com 下载 Docker Desktop 来跑 Docker 程序。 ...

April 20, 2022 · 5 min · jiezi

关于git:git笔记

1、branch分支命令(1) 切换分支如果template不是本地的,是近程仓库的,须要在template后面加上origin如:想切一个近程仓库bc-a的分支,命令如下git checkout -b bc-b origin bc-a (2) 查看所有分支git branch (3) 合并分支:git merge <branchName>2、pull命令=fetch+merge获取到近程仓库最新的代码 3、git add .把所有的文件增加至暂存区,只有增加到了暂存区的文件才会被提交 4、git commit -m "备注信息"提交代码 5、git status查看状态 6、git log查看日志 7、git reset(1)增加到暂存区,还未提交,想不提交如果git add 了一个文件,然而悔恨了不想提交,能够git reset <filename>,来让文件从暂存区移出来(也就是让绿色的文件从新变红) (2)提交后要回退如果曾经提交了6次,想要回退到第3次提交的那个版本git reset <第三次提交id> --hard ps:每次提交id能够通过git log查看状态,或者git reflog查看所有状态.“--hard” 肯定要加上 (3)三种模式:--hard,--soft,--mixed--hard 不保留所有变更--soft 保留变更,且变更内容处于staged--mixed(默认模式) 保留变更,且变更内容处于modified 8、文件状态,一共是四种状态 (1)新建一个文件,没有提交记录,就是untracked状态(2)应用git add 之后,就是staged状态(3)应用git commit 之后,就是unmodified状态(4)文件批改之后,有过提交记录,就是modified状态git 常用命令 git设置别名:alias找到git装置目录,找到gitcofig文件,关上进行设置,如 9、branch 分支

April 20, 2022 · 1 min · jiezi

关于git:从零开始搭建k8s-测试环境

By 胡涛 (@daniel-hutao) | 18.04.2022 从零开始疾速搭建本地 Kubernetes 测试环节从零开始?从零开始! var 零=99 // 别缓和,Just a jok。 Let’s Get Started! 概述“Kubernetes 集群部署”严格来说是一个简单的技术活,有很多的可选计划。要交付一套聚拢“最佳实际”的高可用集群有很多须要思考的技术细节。对于如何部署“真正高可用的 Kubernetes 集群”不在本文的探讨范畴,所以明天咱们的指标是应用一种简略的形式疾速部署一个可用的 Kubernetes 环境。这套环境次要用于满足 DevStream 的开发测试需要。 疾速部署 Kubernetes 有好几种可选计划,比方 Minikube 和 Kind。 Minikube最先基于虚拟化实现(新版本也反对容器化实现了),也就是通过 virtualbox 或者 kvm 等工具在本地创立若干虚拟机,而后在虚拟机中运行 Kubernetes 集群,一个节点也就对应一台虚拟机。Kind 通过容器化实现,也就是通过 Docker 在本地启动若干容器,每个容器充当 Kubernetes 的一个节点,在容器内再运行容器化利用。本文咱们抉择用 Kind 这种“容器中跑容器”的形式来搭建 Kubernetes 环境。当然如果大家有其余善于的工具,也齐全能够用,咱们的目标仅仅是疾速部署一套可用的 Kubernetes 集群环境。 本文以 macOS 作为开发环境,应用 Linux 或者 Windows 零碎作为开发环境的同学能够参考本文的办法,相应地做一些灵便调整。 Docker 的装置在 Linux 下装置 Docker 是一件非常简单的事件,Docker 的外围原理就是基于 Linux 的 Namespace 和 Cgroup 等机制。不过在 macOS 和 Windows 下就须要通过虚拟化技术间接应用 Docker 了。当然咱们当初曾经不须要先装置虚拟化软件而后本人装置 Linux 虚拟机,再应用 Docker 了。咱们能够间接在 docker.com 下载 Docker Desktop 来跑 Docker 程序。 ...

April 19, 2022 · 5 min · jiezi

关于git:从零开始快速搭建本地-Kubernetes-测试环节

By 胡涛 (@daniel-hutao) | 18.04.2022 从零开始疾速搭建本地 Kubernetes 测试环节从零开始?从零开始! var 零=99 // 别缓和,Just a jok。 Let’s Get Started! 概述“Kubernetes 集群部署”严格来说是一个简单的技术活,有很多的可选计划。要交付一套聚拢“最佳实际”的高可用集群有很多须要思考的技术细节。对于如何部署“真正高可用的 Kubernetes 集群”不在本文的探讨范畴,所以明天咱们的指标是应用一种简略的形式疾速部署一个可用的 Kubernetes 环境。这套环境次要用于满足 DevStream 的开发测试需要。 疾速部署 Kubernetes 有好几种可选计划,比方 Minikube 和 Kind。 Minikube最先基于虚拟化实现(新版本也反对容器化实现了),也就是通过 virtualbox 或者 kvm 等工具在本地创立若干虚拟机,而后在虚拟机中运行 Kubernetes 集群,一个节点也就对应一台虚拟机。Kind 通过容器化实现,也就是通过 Docker 在本地启动若干容器,每个容器充当 Kubernetes 的一个节点,在容器内再运行容器化利用。本文咱们抉择用 Kind 这种“容器中跑容器”的形式来搭建 Kubernetes 环境。当然如果大家有其余善于的工具,也齐全能够用,咱们的目标仅仅是疾速部署一套可用的 Kubernetes 集群环境。 本文以 macOS 作为开发环境,应用 Linux 或者 Windows 零碎作为开发环境的同学能够参考本文的办法,相应地做一些灵便调整。 Docker 的装置在 Linux 下装置 Docker 是一件非常简单的事件,Docker 的外围原理就是基于 Linux 的 Namespace 和 Cgroup 等机制。不过在 macOS 和 Windows 下就须要通过虚拟化技术间接应用 Docker 了。当然咱们当初曾经不须要先装置虚拟化软件而后本人装置 Linux 虚拟机,再应用 Docker 了。咱们能够间接在 docker.com 下载 Docker Desktop 来跑 Docker 程序。 ...

April 18, 2022 · 5 min · jiezi

关于git:Git-submodule

面对比较复杂的我的项目,咱们有可能会将代码依据性能拆解成不同的子模块。主我的项目对子模块有依赖关系,却又并不关怀子模块的外部开发流程细节。submodule容许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到本人的我的项目中,同时还放弃提交的独立。一、创立 submodule首先创立有两个我的项目,同时上传至git并放弃同步:main-project(主) 和 sub-project(子)其中 project-main 的近程仓库地址为 http://xxxx/main-project.git,而 project-sub-1 的近程仓库地址为http://xxxx/sub-project.git在main-project 中增加 sub-project ,而又放弃 sub-project 本身独立的版本控制。应用 git submodule add <submodule_url> 命令能够在我的项目中创立一个submodule 。从主我的项目文件夹中进入git $ git submodule add http://xxxx/sub-project.gitCloning into 'D:/project/main-project/sub-project'...remote: Counting objects: 60, done.remote: Compressing objects: 100% (45/45), done.remote: Total 60 (delta 14), reused 0 (delta 0)Unpacking objects: 100% (60/60), done.warning: LF will be replaced by CRLF in .gitmodules.The file will have its original line endings in your working directory默认状况下,子模块会将submodule放到一个与仓库同名的目录中, 如果你想要放到其余中央,那么能够在命令结尾增加一个不同的门路此时其会在main-project文件夹下创立sub-project submodule,如下图 ...

April 15, 2022 · 2 min · jiezi