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

江阴网站建设培训国际外贸平台排名

江阴网站建设培训,国际外贸平台排名,展台设计展会展位设计,建一个o2o网站新入职了一家公司,发现不同项目用的使用一个 git 仓库管理。不久之后我看到这篇文章。 Git 的设计部​​分是为了支持实验。一旦你确定你的工作被安全地跟踪,并且存在安全的状态,以便在出现严重错误时可以恢复,你就不会害怕尝试新…

新入职了一家公司,发现不同项目用的使用一个 git 仓库管理。不久之后我看到这篇文章。

Git 的设计部​​分是为了支持实验。一旦你确定你的工作被安全地跟踪,并且存在安全的状态,以便在出现严重错误时可以恢复,你就不会害怕尝试新的想法。然而,创新的代价之一就是你可能会在过程中弄得一团糟。文件会被重命名、移动、删除、更改,甚至被分割成多个文件。新的文件会被引入。你不想跟踪的临时文件会在你的工作目录中驻留。

简而言之,你的工作区变成了一座纸牌屋,在“快要正常工作了!”“哦不,我做了什么?”之间艰难地平衡着。那么,当你需要让仓库在某个下午恢复到已知状态以便完成一些实际工作时,该怎么办呢?经典命令 git branch 和git stash 会立即浮现在你的脑海中,但它们的设计初衷并非以某种方式处理未跟踪文件、更改的文件路径以及其他重大变更,而存储工作以供日后使用会让人感到困惑。答案是 Git worktree。

什么是 Git 工作树

跳至内容

Git 工作树是 Git 仓库的链接副本,允许您一次检出多个分支。工作树与主工作副本有独立的路径,但可以处于不同的状态并位于不同的分支。Git 中新工作树的优势在于,您可以进行与当前任务无关的更改,提交更改,然后在稍后合并,所有这些都不会干扰您当前的工作环境。

一个典型的例子,直接来自git-worktree手册页:你正在为一个项目开发一个令人兴奋的新功能,这时项目经理告诉你,需要紧急修复一个问题。问题在于,由于你正在开发一个重要的新功能,你的工作仓库(你的“工作树”)一片混乱。你不想把修复工作“偷偷”拖进当前的冲刺阶段,也不想为了修复这个功能而存储更改,创建一个新的分支。于是,你决定创建一个新的工作树,以便在那里进行修复:

$ git branch | tee
* dev
trunk
$ git worktree add -b hotfix ~/code/hotfix trunk
Preparing ../hotfix (identifier hotfix)
HEAD is now at 62a2daf commit

在你的目录中code,现在有一个名为 的新目录hotfix,它是一个链接到你主项目仓库的 Git 工作树,它HEAD位于名为 的分支trunk。现在你可以将此工作树视为你的主工作区。你可以将目录切换到该目录,进行紧急修复,提交修复,并最终删除该工作树:

$ cd ~/code/hotfix
$ sed -i 's/teh/the/' hello.txt
$ git commit --all --message 'urgent hot fix'

完成紧急工作后,您可以返回上一个任务。您可以控制何时将修补程序集成到主项目中。例如,您可以将更改直接从其工作树推送到项目的远程仓库:

$ git push origin HEAD
$ cd ~/code/myproject

或者您可以将工作树存档为 TAR 或 ZIP 文件:

$ cd ~/code/myproject
$ git archive --format tar --output hotfix.tar master

或者您可以从单独的工作树本地获取更改:

$ git worktree list
/home/seth/code/myproject  15fca84 [dev]
/home/seth/code/hotfix     09e585d [master]

从那里,您可以使用最适合您和您的团队的策略合并您的更改。

列出活动工作树

您可以使用以下命令获取工作树列表并查看每个工作树已检出的分支git worktree list

$ git worktree list
/home/seth/code/myproject  15fca84 [dev]
/home/seth/code/hotfix     09e585d [master]

您可以在任一工作树中使用它。工作树始终保持链接(除非您手动移动它们,否则 Git 将无法定位工作树,从而切断链接)。

移动工作树

Git 跟踪项目.git目录中工作树的位置和状态:

$ cat ~/code/myproject/.git/worktrees/hotfix/gitdir 
/home/seth/code/hotfix/.git

如果需要重新定位工作树,则必须使用git worktree move;否则,当 Git 尝试更新工作树的状态时,将会失败:

$ mkdir ~/Temp
$ git worktree move hotfix ~/Temp
$ git worktree list
/home/seth/code/myproject  15fca84 [dev]
/home/seth/Temp/hotfix     09e585d [master]

删除工作树

完成工作后,可以使用remove子命令将其删除:

$ git worktree remove hotfix
$ git worktree list
/home/seth/code/myproject  15fca84 [dev]

为了确保.git目录干净,请prune在删除工作树后使用子命令:

$ git worktree prune

何时使用工作树

与许多选项一样,无论是标签页、书签还是自动备份,您都需要自行跟踪生成的数据,否则可能会不堪重负。不要过于频繁地使用工作树,以免最终导致您的代码库副本多达 20 个,每个副本的状态都略有不同。我发现最好的方法是创建一个工作树,执行需要它的任务,提交工作,然后删除该工作树。保持简洁和专注。

重要的是,工作树为 Git 仓库的管理提供了更高的灵活性。在需要的时候使用它们,再也不用为了检查其他分支上的内容而费力地保存工作状态了。

http://www.dtcms.com/a/567453.html

相关文章:

  • 泉州网站建设dreamnm做的好的宠物食品网站
  • 怎样做视频上网站赚钱软文发稿平台
  • wordpress双站电子产品网站建设策划
  • 阿里巴巴网站制作内网穿透做网站
  • 顺义企业网站建站公司北京网站搭建服务
  • 温州建设网站哪家好建网站不花钱免费建站
  • 福建省建设干部培训中心网站首页网站空间500m是什么
  • wex5 后端实现全网站开发北京市通信管理局 网站备案
  • 小说网站开发源码东营房地产网站建设
  • 中国建设会计学网站自学网站查分数
  • 高校门户网站建设建议视频网站dedecms
  • 西安网站建设 大德织梦网站logo
  • 微信平台APP网站建设怎么样wordpress的模板目录在哪里
  • 焦作网站开发重庆做网站 外包公司
  • 好的手表网站充电网站建设方案
  • 有没有教做网站的app微信网页链接怎么制作
  • 天津地区网站建设个人怎么做旅游网站
  • 网站全局搜索如何做网站建站侵权怎么办
  • 建网站做淘宝客赚钱吗wordpress 上级分类
  • 试玩平台网站怎么做合肥市建设工程市场价格信息网站
  • 建大网站99建筑网99建设工程教育网
  • 有什么做兼职的好网站做字网站
  • 县网站建设东莞专业的网站制作有哪些
  • 如何在后台做网站流程个人博客网页设计html代码
  • 创世通网站建设大连城市建设档案馆官方网站
  • 邹平做网站的公司广州网站定做教程
  • 成都网站开发费用设计公司调研报告
  • 怎么建个自己的网站企业营销网站服务器1g够
  • 做网站需要走公司吗建设项目竣工环保验收公示网站
  • 学做网站基础知识品牌推广的步骤