gpt4 book ai didi

git - 将文件提交到不同的分支而不 checkout

转载 作者:IT王子 更新时间:2023-10-29 01:01:01 26 4
gpt4 key购买 nike

是否可以在不 check out 该分支的情况下在 git 分支中提交文件?如果是怎么办?

本质上,我希望能够在我的 github pages 分支中保存一个文件,而无需一直切换分支。有什么想法吗?

我需要在不更改当前目录的情况下以原子方式执行此操作,因此多个命令将不起作用,即使它们可以用作一个衬里。否则,您可能会遇到竞争条件。

更新:我想做的事是不可能的(见下面的用例评论)。我最终以编程方式将当前目录克隆到 tmp 目录,然后检查该 tmp 目录中的分支(不影响我的工作目录)并将我的文件提交到 tmp 目录克隆。完成后,我返回工作目录并删除 tmp 目录。糟透了,但这是在不更改工作目录的当前工作分支的情况下将文件提交到另一个分支的唯一方法。如果有人有更好的解决方案,请随时在下面添加。如果它比“无法完成”更好,我会接受你的。

更新更新:有关我 11 年前要求能够执行此操作的原因以及我希望它成为原子的原因的完整详细信息,请参阅此 repo https://github.com/schneems/git_test .过去我们没有 CI 服务。我工作的公司的开发人员被期望在本地运行测试,但并不是每个人都这样做。该项目背后的想法是跟踪测试运行历史。这将允许您查看哪些提交测试(或者它们是否根本没有运行)。

CI 现在处理这个功能,但由于我问了一个“不可能的问题”,我总是很好奇是否有答案。

最佳答案

这不可能。

您提交的更改与当前工作副本相关。如果你想提交到另一个分支,这意味着你可以从你的工作副本提交更改,但是它们基于另一个副本状态。

这不是对您的工作进行版本控制的自然方式,这就是为什么您需要执行不同的步骤(存储更改、 checkout 分支、 pop 存储和提交)来完成它。

至于你的具体用例,一个简单的方法是保留你的工作的两份副本,一份在 master 分支 checkout ,另一个在 pages 分支 checkout 。

pages 工作副本中,添加 master 副本作为远程仓库。

  • 您在 master 上提交页面
  • master 中提取 pages 副本
  • 推送到 GitHub
  • 将主分支重置为之前的状态。

关于git - 将文件提交到不同的分支而不 checkout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7933044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com