Git 常见问题汇总
git reabse
合并多个commit
git rebase -i HEAD~{NUM}
git rebase -i start end
会进入一个指定区间的commit列表
根据提示进行文本编辑 选择是否合并 或者放弃某个提交
## 选项说明
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
复制代码
编辑完成 :wq后 会自动执行rebase过程
期间可能会出现代码冲突
-- 动解决然后 执行git rebase --continue
-- 或者执行 git rebase --abort 放弃rebase 过程
复制代码
git rm
版本控制中移除文件或文件夹
git rm --cache [file_path|dir_path]
复制代码
git webhook
每当本地push代码,还得在服务器上git
pull。这样太麻烦了。git支持hook机制,类似事件通知,比如git服务器收到push请
求,并且接受完代码提交时触发。需要在hooks目录下创建post-receive文件
服务器操作
1. 配置仓库密匙 免密码push 请阅读此篇文章
2. 创建可通过web 访问的hook文件
博主这里用的是php 用其他语言也是一样的 只要能调用到git pull 就OK
<?php
$pwd = '密码xxx';
error_reporting(E_ALL);
$gitPost = json_decode(file_get_contents("php://input"), true);
// file_put_contents('log', $gitPost);
if(isset($gitPost['password']) && $gitPost['password'] == $pwd){
// 这里只是最简单的拉取代码,如果要做更加多的操作,如验证、日志,请自己解析push内容并操作
// 获取push数据内容的方法
$requestBody = file_get_contents("php://input");
// 只需这一行代码便可拉取
// 目录换成项目的目录
$command = "cd /data/wwwroot/wx-luckyShop " .
"&& git checkout master" .
"&& git branch -D master-clone && git branch master-clone " .
"&& git fetch " .
"&& git reset --hard origin/master > GitPull.log " .
"&& echo `cat GitPull.log`";
$result = shell_exec($command);
echo($result . "<br/>\n");
echo date("Y-m-d H:i:s",time());
// 查看是哪个用户执行该命令
// echo system("whoami");
}else{
echo '非法访问';
}
复制代码
3. 为项目配置hook文件
转载于:https://juejin.im/post/5c26e145f265da6172658f8a
Git 常见问题汇总的更多相关文章
- CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- SVN集中式版本控制器的安装、使用与常见问题汇总
SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客 ...
- H5项目常见问题汇总及解决方案
H5项目常见问题汇总及解决方案 H5 2015-12-06 10:15:33 发布 您的评价: 4.5 收藏 4收藏 H5项目常见问题及注意事项 Meta基础知识: H5页 ...
- 常用Git命令汇总
常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代 ...
- Installshield脚本拷贝文件常见问题汇总
原文:Installshield脚本拷贝文件常见问题汇总 很多朋友经常来问:为什么我用CopyFile/XCopyFile函数拷贝文件无效?引起这种情况的原因有很多,今天略微总结了一下,欢迎各位朋友跟 ...
- MVC 网站部署常见问题汇总
一:TGIShare项目是一个MVC5的网站程序,部署在了IIS上,使用的Windows验证方式,并在本机设置了计划任务定时调用某个地址执行命令.问题汇总如下: 1.Window Server 200 ...
- Git命令汇总(补充篇)
上一篇<Git命令汇总基础篇>总结了使用Git的基本命令,这一篇作为补充主要给大家讲一些平时使用中的技巧和总结 . 学会了这些命令,已经基本解决了使用Git中大部分问题. 1.gitign ...
- Git命令汇总(基础篇)
自己用Git有一段时间了,随着项目越来越多,功能分支也随之增加,从简单的基础命令到随心所欲,需要自己不断地去尝试总结,下面来分享一下我的Git使用总结. 本章基础篇主要讲解一些Git代码提交流程和Gi ...
- J2EE进阶(十)SSH框架整合常见问题汇总(一)
SSH框架整合常见问题汇总(一) 前言 以下所列问题具有针对性,但是遇到同类型问题时均可按照此思路进行解决. HTTP Status 404 - No result defined for actio ...
随机推荐
- JavaScript RegExp.$1...$9 属性详解
RegExp.$1...$9属性用于返回正则表达式模式中某个子表达式匹配的文本. 正则表达式中每个小括号内的部分表达式就是一个子表达式. 该属性是RegExp全局对象的一个只读属性,所有主流浏览器均支 ...
- PTA数据结构与算法题目集(中文) 7-40奥运排行榜 (25 分)
PTA数据结构与算法题目集(中文) 7-40奥运排行榜 (25 分) 7-40 奥运排行榜 (25 分) 每年奥运会各大媒体都会公布一个排行榜,但是细心的读者发现,不同国家的排行榜略有不同.比如 ...
- PTA数据结构与算法题目集(中文) 7-8
PTA数据结构与算法题目集(中文) 7-8 7-8 哈利·波特的考试 (25 分) 哈利·波特要考试了,他需要你的帮助.这门课学的是用魔咒将一种动物变成另一种动物的本事.例如将猫变成老鼠的魔咒是 ...
- 【高并发】你知道吗?大家都在使用Redisson实现分布式锁了!!
写在前面 忘记之前在哪个群里有朋友在问:有出分布式锁的文章吗-@冰河?我的回答是:这周会有,也是[高并发]专题的.想了想,还是先发一个如何使用Redisson实现分布式锁的文章吧?为啥?因为使用Red ...
- python 函数--匿名函数
一.匿名函数的定义: 解决一些简单的需要用函数去问题,匿名函数的函数体只有一行. 二.格式: calc = lambda n:n**n 函数名 = 匿名函数 参数:返回值 三.练习:
- 盘点一下Github上开源的编程面试/学习相关的仓库
转载自:JavaGuide 最近浏览 Github ,收藏了一些还算不错的 Java面试/学习相关的仓库,分享给大家,希望对你有帮助.我暂且按照目前的 Star 数量来排序. 本文由 SnailCli ...
- 大数据篇:Spark
大数据篇:Spark Spark是什么 Spark是一个快速(基于内存),通用,可扩展的计算引擎,采用Scala语言编写.2009年诞生于UC Berkeley(加州大学伯克利分校,CAL的AMP实验 ...
- 【Java】InnerClass 内部类
Java 允许一个类的定义位于另一个类的内部,前者为内部类,后者称为外部类 InnerClass一般定义它的类或语句块之中外部类引用时必须给出完整的名称 成员内部类 & 局部内部类 - 静态成 ...
- Python-selenium 元素定位
1.id定位find_element_by_id() 通过id属性定位元素,如果id是动态变化的话不能用id来进行定位 2.name定位find_element_by_name() 通过name属性定 ...
- stand up meeting 12/9/2015
part 组员 今日工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 -------------- -- ----------- -- PDF Reader 朱玉影 SDK终于差不 ...