我正在使用git
作为源代码存储库,并且当前代码处于凌乱状态,并希望切换到其他分支以进行一些工作。问题是我不想仅仅做半完成的工作,所以我怎样才能在以后回到这一点。
答案 0 :(得分:7)
您可以使用git stash
来"丢弃"更改一段时间,然后,当您要恢复以前的更改时,请使用git stash pop
*
您也可以(并且更安全)提交您的WIP(正在进行中)工作,切换到另一个分支,完成您的工作,切换回原始分支,完成原始工作,然后squash您的提交之一。
请记住,提交并不等于推送,因此您可以在本地创建一个混乱的历史记录,但是,一旦变形和压制,您(和您的团队)将只能看到干净的版本。
*请注意,因为如果你藏匿多次,git pop将只会弹出最后一个藏匿点。在这种情况下,您需要使用git pop stash@{<revision>}
答案 1 :(得分:3)
如果你有更新的git(&gt; = ver.2.5.0),你可以使用 git worktree 。
通过以下命令,您可以签出要使用的临时工作树。
git worktree add sourcetree_dir branch_name
完成此分支的工作后,您可以使用以下命令将其删除。
git worktree prune
答案 2 :(得分:2)
您有两种方法可以做到这一点。
选项1: - 为工作代码创建补丁并检查所有工作代码然后切换到另一个分支。
选项2: - 您可以存储分支机构。点击此处了解更多详细示例:http://www.gitguys.com/topics/temporarily-stashing-your-work/
答案 3 :(得分:1)
你可以藏匿你的分支机构。这是一个例子: http://www.gitguys.com/topics/temporarily-stashing-your-work/
答案 4 :(得分:0)
你不能只创建另一个目录并将所需的分支克隆到其中吗?
如果您将运行时配置为使用特定目录,请将其作为指向您当前使用的分支克隆目录的链接。这样,您可以在本地拥有多个分支,而无需对本地资源进行大量重新调整(只需要一个简单的脚本来重新链接运行时/服务器使用的目录)。
答案 5 :(得分:0)
使用命令行,简答:
git stash
git checkout otherBranch
如果brach在原产地使用:
git checkout origin otherBranch
..
do your changes/commits
..
git stash apply
使用git stash apply
,您可以恢复以前的更改。您可以找到合并冲突...修复它们并再次提交。