【发布时间】:2011-12-17 11:55:32
【问题描述】:
是否可以在不签出该分支的情况下在 git 分支中提交文件?如果有怎么办?
基本上我希望能够在我的 github 页面分支中保存文件,而无需一直切换分支。有什么想法吗?
更新:不可能做我想做的事(请参阅下面的 cmets 以了解用例)。我最终做的是以编程方式将我的当前目录克隆到 tmp 目录,然后检查我在该 tmp 目录中的分支(不影响我的工作目录)并将我的文件提交到 tmp 目录克隆。完成后,我推回我的工作目录并删除 tmp 目录。糟透了,但这是在不更改工作目录的当前工作分支的情况下将文件提交到另一个分支的唯一方法。如果有人有更好的解决方案,请随时在下面添加。如果它比“无法完成”更好,我会接受你的。
【问题讨论】:
-
你为什么不想结帐另一个分支?是因为您有未提交的更改吗?
-
@gustavotkg 我正在以编程方式将文件同步到后台的 github pages 分支。我需要能够在不签出分支的情况下这样做,因为签出分支会影响当前用户的工作分支。现在我正在做一个复杂的克隆和临时目录的舞蹈,当我真正想做的只是添加一个文件而不影响用户的当前分支时。
-
一个用例是,我发现了一个错误,做了一个快速修复,但想将它推送到
develop而不是当前的问题分支。至少这就是我错过该功能的原因;) -
@KingCrunch 你可以使用
git stash,git checkout develop,修复你的错误,git commit,git checkout -然后git stash pop,这样你就可以恢复你的更改 -
在克隆中做某事没有错;如果它们是本地的,它将使用硬链接,除了额外的工作树副本之外,您甚至不会占用额外的磁盘空间。如果您不想推/拉,您可以使用
git-new-workir让两个工作树通过 .git 中的符号链接共享存储库。
标签: git version-control branch git-branch