当前位置: 首页 > news >正文

网页制作与网站建设宝典 pdf阳江市做网站的公司

网页制作与网站建设宝典 pdf,阳江市做网站的公司,中国林业建设协会网站,河北网络推广公司大家好,我是 17。 今天和大家聊一聊 git check-pick,git patch 与 git stash 的用法。 git cherry-pick 为什么要用 cherry-pick? 不适合 merge 的场景就可以考虑 cherry-pick。 试想下面这些场景 只想同步分支的部分提交。两个分支是两上完全独立…

大家好,我是 17。

今天和大家聊一聊 git check-pick,git patch 与 git stash 的用法。

git cherry-pick

为什么要用 cherry-pick?

不适合 merge 的场景就可以考虑 cherry-pick。

试想下面这些场景

  1. 只想同步分支的部分提交。两个分支是两上完全独立的 feature,不适合 merge。

  2. 不想过早的同步分支。

下面举几个例子。 dev 为 分支 ,A、B 为 commit。

git cherry-pick dev   将 dev 分支的最近一次提交,转移到当前分支。
git cherry-pick A 可以转移有权访问的任意分支的任意提交。
git cherry-pick A B 一次可以同步多个提交   转移从 A 到 B 的所有提交,不包含 提交 A。提交 A 必须早于提交 B,否则命令将失败,但不会报错。
git cherry-pick A..B 包含提交 A 
git cherry-pick A^..B   

如果没有冲突会在当前分支形成一个新的提交,提交的内容和 message 完全一样,只是 hash( commit id) 值不一样。

如果有冲突,解决冲突的方法前面在 git checkout 那一节已经说过,解决的方法是一样的,最后用 git cherry-pick --contine,如果想撤销用 git cherry-pic --abort

git patch

为什么要用 patch?

不适合 merge,也不方便 cherry-pick 的场景,可以考虑 patch。

试想下面这些场景

  1. 两个不同的 git 库,其中的某段代码需要同步。
  2. 有些修改会影响所有开发者,但你想做这个修改,来验证一些东西。你需要另一个开发配合,需要把这个修改同步给他。直接 copy 是个办法,但如果修改较多,容易出错,用 patch 比较合适。

虽然 check-pick 也可以同步不同的库,但实操的时候,因为权限或安全问题,不大方便联网同步。

patch 方案

pach 有两种方案,diff 和 format-patch。

diff 仅保留了文件重 A 状态变成 B 状态的差别,而不会保留 commit 记录消息等信息,diff可以多个commit生成单个patch。用 git apply 应用补丁。

format-patch 完整保留了每次提交的完成信息,每个commit都生成一个patch文件。用 git am 应用 补丁。

检查都是用 git apply --check。查看 都是 git applay -stat

diff 生成 patch,apply 应用patch

制作 patch

git diff >fix.patch  git diff 38d8e02 >fix.patch 相当于 
git diff 38d8e02 HEAD >fix.patch

总之,diff 的结果都可以制作 patch。

应用 patch

git apply --check fix.patch
git apply fix.patch

format-patch 制作 patch ,am 应用 patch

git format-patch -2               用最近的两次提交制作 patch 
git format-patch commitId         某次提交以后的所有patch,不包括本次提交
git format-patch --root commitId  从第一次提交到指定提交的所有 patch
git format-patch -o patch -2      输出 patch 文件到 patch 文件夹      

format-patch 制作的 patch 是一个提交一个文件,正序排列。

0001-第一次提交.patch
0002-第二次提交.patch

应用提交

git apply --check *.patch
git am *.patch

git stash

stash 的英文原意是 贮藏。git stash 的功能就是把当前工作区的内容存起来。和提交到暂存区不同,git stash贮藏的内容不受分支切换的影响。

应用场景

  1. 开发了一阵,发现分支错了。这时最好的文案就是 git stash save ,切到新分支后 git stash pop
  2. 开发到一半,有一个紧急的 bug 要 fix,这时提交会造成无效的提交记录。可以先 git stash save,切换分支修复 bug,再切回来 git stash pop

注意:没有被 add 过的文件不会被 stash 起来,如果想把这些文件也一起 stash,可以加上 -u 参数,它是 --include-untracked 的简写, git stash -u。

http://www.yayakq.cn/news/115427/

相关文章:

  • 网站打开速度概念学校网站改版
  • 高端网站建设 源码北京个人网站制作
  • python+网站开发实例教程专门做宠物食品的网站
  • 做我的世界背景图的网站建设行政主管部门相关网站
  • 天津建设招标网站首页佛山新网站建设如何
  • 婚礼顾问网站介绍模版网络空间的三个特点包括哪些
  • 广西建设工程质检安全网站html5新特性
  • 怎么建国外网站莒县建设局网站
  • 中心建设投官方网站 软件下载产品推广目标怎么写
  • 站长工具站长湛江网站制作费用
  • 广州仿站定制模板建站欧亚专线快递查询单号查询
  • 网站建设除了凡科还有哪些做服装哪个网站图片多
  • app 门户网站做爰全过程免费网站的视频教程
  • 凡科建站教程河北建筑工程学院招生网
  • 企业网站在策划阶段最重要的工作是什么有什么好用的搜索引擎
  • 济南网站建设-中国互联企业网站建设公司有哪些
  • 公司网站如何做分录做搜狗网站点击
  • 网站建设的开发语言wordpress瀏覽器圖標
  • wordpress视频存储seo的工具有哪些
  • 龙岗区网站制作公司企业邮箱怎么查询
  • 为什么上不了建设银行个人网站苏州比较好的建筑公司
  • 商务网站建设综合实训报告做公司网站的好处
  • 网站建设的维护与更新个人个性网页界面设计
  • arial 网站开发是用犀利浙江网站建设情况
  • 网站建设及管理制度注册公司经营范围怎么选择
  • 网站404是什么意思烟台seo网站推广
  • 东莞拓步网站建设做企业网站域名需要解析吗
  • 手机访问不了自己做的网站吗制作软件网站
  • 手机微信登入网站资源seo网站优化排名
  • 福州阿里巴巴网站建设自己做网站需要几个软件