大厂技术 高级前端 Node进阶 作者:杨成功 最近要高效的把前端 react 项目部署到私有服务器上,研究了好几种持续部署方案,这里简单描述一下。...这里有两个重要概念:项目目录 和 git 仓库。项目目录就是 package.json 文件所在的目录,我们的代码放在这里。...理解到这,再看上面那条命令的意思:将 /opt/react-test.git 这个 git 仓库的 release 分支,检出(checkout)到项目目录 /home/react-test,从而更新了项目目录的代码...下面就是接受本地代码的推送,然后自动触发这个流程。 客户端 前面在服务器建好了 git 裸仓库 react-test.git,回到客户端只需要做一件事:将代码推到这个裸仓库。...$ git remote add prod ssh://root@198.234.456.8/opt/react-test.git 第二步,我们直接将代码推送到这个远程仓库: $ git checkout
理论上改代码前要pull一次,然后在push前在pull一次 改代码前pull一次是为了获取最新的同步,但是coding也是需要时间的,难保敲代码的这段时间没有人动远程仓库的东西,所以在改完代码要...push的时候也应该再pull一下看有无冲突,把冲突解决了再push ①首先切换到要code的分支,比如dev分支 git checkout dev ②首先pull一次 git pull 如果是特定分支...,比如dev分支 git pull origin dev 这样就可以获取到最新的更新并合并到当前分支 然后开始敲键盘码代码…… ③将所有修改的文件添加到暂存区 git add . ④提交更改,如果需要可以备注更改信息...,比如修改了无法跳转页面的bug git commit -m "修改了无法跳转页面的bug" ⑤然后再一次pull,如果木有冲突就push,默认推送到master git push 推送到指定分支 git...push origin dev 如果有冲突,改好代码后回到第③步
一、场景 目前大部分的项目可能都会用到 Git 来做代码管理,那么我们在不断的修改项目的过程中,可能会关注如下几个问题: 1.每个参与者贡献代码量,按劳分配某些资源:see_no_evil:; 2.参与者的代码增删量...二、常规操作 一般情况,我们可以直接通过 Git log 来统计,如: 1.统计个人代码量: git log --author="jartto" --pretty=tformat: --numstat...-c | sort -k1 -n -r | head -n 5 更多 log 操作可以请移步: Git 代码统计 。...代码统计方式: 1.通过 Git log 统计,稍微会麻烦一些,需要有一些 awk 知识的储备; 2.使用插件 git_stats 来生成可视化报告,对用户友好。...七、参考文档 Git 代码统计 有哪些比较好用的代码量统计工具?
1.5 Git 的使用 1.5.1 Git 使用前配置 在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。...1.5.2 提交步骤 git init 初始化git仓库 git status 查看文件状态 git add 文件列表 追踪文件 git commit -m 提交信息 向仓库中提交代码 git log...Git进阶 2.1 分支 为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。 使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。 ?...3.6 跨团队协作 程序员 C fork仓库 程序员 C 将仓库克隆在本地进行修改 程序员 C 将仓库推送到远程 程序员 C 发起pull reqest 原仓库作者审核 原仓库作者合并代码 3.7 ssh...3.8 GIT忽略清单 将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。
统计某人的代码提交量,包括增加,删除: git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk...7个月写了30398行代码 竟然有这么多 统计每个人的增删行数 git log --format='%aN' | sort -u | while read name; do echo -en "$...name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc +=...查看仓库提交者排名前 5 git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5 贡献者统计 提交过代码的人数 git...log --pretty='%aN' | sort -u | wc -l 提交数统计: git log --oneline | wc -l
所有的代码并不是一气呵成全部一次性完成的,肯定是经过多个步骤,大项目甚至会多人好几个月甚至几年共同开发而成的,而这个过程中,我们的代码要形成很多个版本,好比(图片摘自网上) ?...集中式软件版本管理工具具有一台中心服务器,软件的最终版本存在与中心服务器上,叫做 SVN Repository,即SVN仓库,所有的开发人员从服务器拉取代码,修改代码,提交代码,中央服务器集中管理,这种管理方式比较简单...是一种分布式的代码管理工具,每个授权用户都管理着所有的版本信息,即使任意的一个用户的信息丢失了,也可以从服务器恢复之前的版本信息,而不用担心有历史信息的丢失。...显示了如下信息 当前位于master 的分支上 至今没有过提交 没有需要提交的内容(创建或拷贝文件然后使用git add来追踪) 我们有时候还会遇到这么一种情况,就是我们要使用已有的代码文件来建立仓库...如果想在这里看到文件中所有的变动,即源代码是怎么更改的,是增加了还是删除了,可以使用 $ git log -p 查看所有的记录,如果你的文件是新添加的话,那这个文件中的所有内容都会被展示出来,内容太长,
命令需要在bash下运行,windows系统可使用git客户端附带的“git bash here”右键菜单进入bash命令行 统计所有代码行数 git log --pretty=tformat: --...printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' 命令详解: 使用指定格式输出日志 git...} END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' 统计一定时间内产生的代码行数...git log --since=2019-01-01 --until==2019-12-31 --pretty=tformat: --numstat | awk '{ add += $1; subs...{ printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' 统计指定开发者一段时间内产生的代码行数
git revert 和 git reset 的区别 sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。...执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。使用git status 命令可以在缓冲区中看到这些修改。...而如果加上-–hard参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。可以使用 git push origin HEAD --force 强制将分区内容推送到远程服务器。...代码回退 默认参数 -soft,所有commit的修改都会退回到git缓冲区 参数--hard,所有commit的修改直接丢弃 $ git reset --hard HEAD^ 回退到上个版本...$ git reset --hard commit_id 退到/进到 指定commit_id 推送到远程 $ git push origin HEAD --force 可以吃的后悔药->版本穿梭
Git Git 是目前世界上最先进的分布式版本控制系统(没有之一) 作用 源代码管理 为什么要进行源代码管理?...方便多人协同开发 方便版本控制 Git单人本地仓库操作 安装git sudo apt-get install git 查看git版本 git --version 新建本地仓库 git init...配置个人信息 git config user.name 'lgc' git config user.email '1399569097@qq.com' 查看文件状态 git status...将项目文件添加到暂存区 git add login.py 将指定文件添加到暂存区 将暂存区文件添加到本地仓库 git commit -m '版本描述' 查看历史版本 git log... git reflog 回退版本 强制覆盖暂存区和工作区的文件 回退到当前版本的前一个版本 git reset --hard HEAD^ 回退到指定版本 git reset --hard 版本号
# 在当前目录新建一个Git代码库 git add . # 将项目的所有文件添加到暂存区 git add -A # 提交所有变化 git add -u # 提交被修改(modified)和被删除...提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git commit -m "更新文件" # 提交更新到本地仓库 git push # 提交代码到远程仓库...pull失败执行git pull origin master --allow-unrelated-histories git push -u origin master #上传代码到远程库(输入...add README.md git commit -m "first commit" git remote add origin git@github.com:L00J/GUI.git git push...cd existing_folder git init git remote add origin git@gitlab.ops.net:jingjing/zabbix.git git add . git
版本发布的时候需要统计代码行数 一行命令: git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git...项目中,打开git命令行窗口(Git Bash),将上面的起止日期修改为具体起止时间,复制到git的命令行窗口即可。...执行后效果如下 $ git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author...lines 代表增加行数,removed lines代表移除行数,total lines代表总行数,但总行数的计算规则是增加的行数减去移除的行数,比如你增加了一行修改了一行,增加行数是2,移除行数是1,但其实代码量是应该将修改行数也计入的...据说程序员按代码行数统计工作量 快看看是不是你的代码被remove掉了
有时我们需要回滚git上已经提交的代码,特别是已经提交到github上的代码。...可以使用如下步骤: 1、 git reflog $ git reflog 1bd6100 (HEAD -> master) HEAD@{0}: commit: Site updated: 2018-05...reset --hard version $ git reset --hard f681615 HEAD is now at f681615 Site updated: 2018-04-25 19:31...:25 3、 git log $ git log commit f68161540b8c3400c4ab4a35eef67039c732781d (HEAD -> master) Author: drunkdream...push --force $ git push --force Total 0 (delta 0), reused 0 (delta 0) To github.com:drunkdream/xxx.git
介绍 目的:使用分布式系统管理源代码,还可以多人协同开发 作者:Linux 上线时间:2005年 3.git区域介绍 工作区:代码的增删改,可以是我们的pycharm 暂存区:临时存放代码的,一旦提交就没有了...^ 撤销工作区的内容:git checkout 文件名 撤销暂存区:git reset HEAD 文件名 5.git多人操作 目的:多个人来维护同一份代码 步骤: 1/先克隆git clone 项目地址...,也需要改一下名字和邮箱. 7/其他人更改之后提交到远程仓库 8/想看到其他的代码,不需要克隆了,只需要拉下来git pull 命令: git clone 地址 将远程仓库的代码克隆到本地 git push...将本地仓库的代码推送到远程 git pull将远程仓库的代码更新到本地 6.冲突问题 目的:了解冲突的产生过程,以及解决办法 rejected拒绝 产生原因:就是比如经理和我同时更改,但是经理提交的比较快...在程序员里,前台和前端是一个意思.后台和后端也是一个意思. ?
1.提交代码到本地仓库 [root@yoyo git_code]$ git add * #*是提交当前文件夹下全部的,也可以指定提交一个文件如:test.py 2.代码提交到缓存区...[root@yoyo git_code]$ git commit -m "add test.py" 3.提交到远程仓库 [root@yoyo git_code]$ git remote add origin...http://52.221.x.x:8100/root/yoyo.git 4.最后一步push推送过去 [root@yoyo git_code]$ git push -u origin master
git init 执行完上述命令之后,输出如下,告诉你已经创建了一个空仓库,在".git"目录下。 ? 可以使用ls -al来查看,如下。 ?...将当前项目的文件放到git的暂存区 现在我们在gitpractise目录下创建一个叫做README的文件。写上一些内容,例如:This is readme....之后,我们需要将README文件放到git的暂存区。使用命令: git add README 这条命令执行成功之后,没有任何输出。这样就把README文件放到了暂存区。...提交代码到仓库 做完这一步,你就成功创建了一个代码仓库。执行如下命令把代码从暂存区提交到仓库。 git commint -m "This is init."...执行完这条命令以后,你就把代码提交到仓库中去了,输出如下。 ? 至此,代码仓库创建完毕。如果想深入了解请阅读参考资料。 参考资料:Pro Git第二版
推荐一个比较好用的git仓库代码统计工具:git_stats,它用于按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便。...实际上,这么多功能通常都是用WEB在多个页面上显示的,git_stats也是如此,它需要你先安装好ruby以生成基础的页面,再用gem安装好git_stats,最后用git_stats一条语句即可生成展示页面...2、接下来使用gem安装git_stats命令: gem install git_stats 3、最后进入你要统计的git代码仓库根目录下,执行命令: git_stats generate -o stats...可见,该工具生成的页面有助于我们统计代码库中总体的代码提交趋势,以及每个coder的代码提交趋势,对于技术管理是有意义的。以下是我截取的最好用的两个页面,首先是按日期统计活跃度: ?...按日期统计代码行数也很好用,虽然代码行数并不能反映出个人的贡献量,但是一些明显不靠谱的事还是能够从这里发现的。 ?
统计每个人的增删代码数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author...printf "added lines: %s, removed lines: %s, total lines: %s \n", add, subs, loc }' -; done 统计仓库中提交数前5的用户 git...log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5 统计总的贡献者数量 git log --pretty='%aN' |...sort -u | wc -l 统计代码总行数 git ls-files | xargs wc -l 转载请注明原文:https://longjin666.cn/?
右键打开 Git Bash , 进入本地代码的目录中,为了方便练习 git 的使用,我先创建了一个 git.py 文件,写了几行代码,然后将代码推到了远程仓库,下面的步骤基于这次提交的代码来做修改。...# 查看当前代码状态 git status # 修改后回退到修改前 git checkout git.py ? 4. 查看修改内容 修改并保存代码后,可以使用 git diff 查看修改的内容。...# 查看修改的代码内容 git diff ? 5. add添加代码和回退 代码处于工作区修改后的状态,可以使用 git add file 或 git add . 将代码添加到暂存区。...# 添加git.py到暂存区 git add git.py # 添加所有已修改代码到暂存区 git add ....# 提交代码 git commit -m "add print**" 提交代码后,代码处于待 git push 的状态,现在 git status 已经不显示被修改的 git.py 了。
页面不允许在框架内 window.onload=function(){ if(self != top){ top.location.h...
领取专属 10元无门槛券
手把手带您无忧上云