一些比较实用的Git和TortoiseGit的技巧

Q:

同事请你帮他做一些调整,但你并不想在本地由你提交服务器,而是想打成patch发给同事,让他完全整个步骤后总体提交(走commit--format patch--reset步骤要对本地仓库进行修改和还原,一不小心就有可能污染远程仓库)。相对简洁的操作方式是什么?

问题本质:

  • 不经过commit和reset,将工作区修改打成patch

A:
git bash
git diff > xxx.patch

or

git add Not Versioned Files
git stash save
Format Patch...


Q:

想要stash的一些修改内容中有新增文件,stash save时默认不会加入这些文件,用include untracked选项又会保存很多应该被忽略的文件,如何只保存想保存的文件而又不漏掉新增文件?

问题本质:

  • 避免使用include untracked参数来stash指定内容

A:
用Add选项将Not Versioned Files加入暂存区
git stash save


Q:

你在某一时期多次使用stash来保存一些功能未全部完成的修改记录,这些修改记录中的内容大部分是重复的,但是每一个修改记录又有可能有比较重要的工作片段。时间越长,你越有可能忘记具体的修改内容,你需要把这些重要的片段都提取到主分支里,该如何操作直至对stash list完成清理?

问题本质:

  • 清理stash记录

A:
stash list
cherry pick this commit
compare with working tree
pick to working tree
重复以上操作


Q:

工作过程中比较随性的看到需要重构的内容就先改为敬,如此多次以后,却因为有的功能短时间难以完成而无法总体提交,如何把无bug的单元功能修改提取出来分部提交,最后再把未完成的功能修改stash?

问题本质:

  • 将一次量很大的修改或提交分解成为若干次独立的事务提交

A:
reset branch to this
stash save
stash list
cherry pick this commit
compare with working tree
pick to working tree
commit
cherry pick this commit
compare with working tree
pick to working tree
commit
cherry pick this commit
compare with working tree
pick to working tree
commit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 输入 y ,创建 git_hug 目录No githug directory found, do you wish...
    风花花阅读 6,208评论 0 4
  • 你说:一生有你 被爱就是连自己都不能容纳的缺点,都被容纳了。 我跌跌撞撞的在爱情路上成长,因为那里有一份令我不舍的...
    感谢你还在这里阅读 2,860评论 0 0
  • 假如,假如现在是十年后的你,当你翻开觉察日记的时候,你会有何想法呢?对觉察的觉察反思,是我们能够脱离小我限制,进行...
    海豚美女阅读 1,562评论 1 0
  • 再次重温小时候看的电视剧《暖春》,依旧躲不过每一集都从头哭到尾。 或许是夜深人静,思绪万千,在心疼小花失去所有...
    碎大爷儿阅读 3,486评论 0 1
  • 学校东门,有一家发廊,叫做“悦己”,名字不错,搞定头发,愉悦自己。 这天旁晚,吃完饭,摸了摸头发,料想也挺长了的,...
    Firewinter阅读 1,877评论 0 0

友情链接更多精彩内容