如何使用 git 将未提交的更改从一台机器传输到另一台机器?

Dav*_*nal 6 git

我经常在桌面上工作,但最终会做出不值得提交的更改。然后我想切换到笔记本电脑并继续在桌面上停止的工作(包括所有未提交的更改)。我如何最好地使用 git 来做到这一点?

我几乎想做一个临时提交,拉动它,然后在本地和远程撤消提交,就好像它从未发生过一样。这是方法还是别的什么?我该怎么做?

mat*_*att 2

是的,您所描述的正是您需要做的。

Git 对“未提交的更改”执行任何操作的概念根本没有任何意义,因为提交是 Git 流量的唯一内容。因此,您必须提交才能进行传输。


因此,只需进行提交,给它一个有用的消息,例如wip,然后推送。一旦你拉到另一台机器上,如果你不想保留该提交,你可以通过说“撤消”它作为提交

git reset @~1
Run Code Online (Sandbox Code Playgroud)

...但请注意,如果您这样做,那么稍后您将需要强制推动才能继续。


也许更好的方法是创建一个临时分支,因为它避免了强制推送:

git switch -c wip
git add .
git commit -m wip
git push

# and on the other machine

git fetch origin
git switch wip
git reset main # or wherever you were working when you created wip
git switch main # or wherever you were working
git branch -D wip
Run Code Online (Sandbox Code Playgroud)