我在两个工作目录中工作,但由于我很笨,导致它们不同步。
自上次与main同步以来,两者都有未记录的更改。
我更改了";fileA";在CCD_ 1和";fileB";在CCD_ 2中。
我的最佳选择是什么?
- 把
~/working
变成一个分支,合并到main中,然后拉入code/working
- 在
~/working
中保存更改,在code/working
中推送更改,拉入~/working
,取消暂停,提交,推送,然后拉 - 推
~/working
并尝试强制拉入code/working
,因为在每个 - 还有别的吗
您可以将本地目录用作远程repo。只运行
git remote add otherlocal ../code/working
其中~/working
0是远程名称(通常为origin
),最后一个arg是本地目录。
之后,你可以做git merge otherlocal/main
、git pull otherlocal main
、git push -u otherlocal branchname
,任何你需要的。
带有未暂存工作
然后,您可以使用git --work-tree
选项简单地添加在workspace2
中修改的文件(并且尚未暂存:来自workspace1
的"未暂存工作"):
cd /path/to/workspace1
git --workstree=/path/to/workspace2 add -- a/file/toadd
git commit -m "Add file from workspace2"