我有两个git工作目录。有时会发生这种情况,我在错误的目录中做了一些更改,并希望现在将它们移到另一个目录中。也就是说,我想将未提交的更改从一个地方合并/拉到另一个地方。
在bzr中我会使用merge与--uncommitted选项,但我一直找不到git等价物。
答案 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
。