拉/合并未提交的更改

时间:2012-02-11 15:34:25

标签: git

我有两个git工作目录。有时会发生这种情况,我在错误的目录中做了一些更改,并希望现在将它们移到另一个目录中。也就是说,我想将未提交的更改从一个地方合并/拉到另一个地方。

在bzr中我会使用merge与--uncommitted选项,但我一直找不到git等价物。

2 个答案:

答案 0 :(得分:4)

推送和拉动固有地适用于提交,因此我认为没有任何方法可以做到这一点,特别是。

但是,您可以创建一个临时分支(git checkout -b tmp),提交,将其拉到另一个存储库(git pull $OTHER tmp),然后从该提交继续,或将HEAD恢复为最新提交,同时保持对工作树(git reset HEAD^)的更改,并继续以这种方式处理它们。

编辑:但也许更重要的是:您确定要拥有两个单独的工作目录吗?我可以看到它在例如Mercurial或SVN(我没有使用Bazaar,所以我不能说话),但在Git中,你通常会使用分支和stas。

答案 1 :(得分:3)

低技术解决方案只是使用git diff

$ cd wd_1
$ (cd ../wd_2 ; git diff -p) | patch -p1

您可以在其他工作目录中使用git reset