在git中临时保存更改而不提交

cnjp1d6j  于 2023-01-15  发布在  Git
关注(0)|答案(5)|浏览(394)

有没有人建议把我的工作暂时保存在git上,因为我已经失去了15天的工作,因为机器故障。Git stash没有用,因为它把数据保存在本地,提交30天,然后合并也不是一个好主意,因为当我们想把数据转移到生产中时,将有30-40次提交。有没有办法暂时保存工作,并从其他系统访问。

e4yzc0pl

e4yzc0pl1#

为这些临时更改创建一个新分支,并使用一个有意义的名称,以显示此分支类似于草稿。当您返回继续工作时,将其合并到原来的工作分支中,并销毁草稿分支。

qvk1mo1f

qvk1mo1f2#

你可以为此创建一个临时分支。你可以将它commitpush到远程,从不同的系统访问它。正如你所说,如果提交30天,将有30+提交。
我们可以使用git squash命令将它们压缩为一个提交。
之后,您还可以将此提交merge到您的生产中:

git rebase --interactive HEAD~[30]

这将把你最近的30次提交合并成一次。

2wnc66cl

2wnc66cl3#

以下技巧可能会有所帮助:
1-你可以创建一个diff文件:例如通过命令:git差值〉温度差值
2-提交并推送到服务器
3-在另一台机器中,通过命令拉取并应用差异:git应用温差
4-循环直到完成任务
5-最后你可以删除temp.diff文件并提交真实的的修改

vtwuwzda

vtwuwzda4#

提交是Git中保存修改的方式。既然你不允许提交,那就真的没什么可做的了,至少在Git中是这样。
当然,有很多事情可以在Git之外完成,备份就是其中之一。正如老话所说:所有重要的数据都有备份,如果没有备份,那么您的数据从一开始就不是那么重要。

xesrikrc

xesrikrc5#

有时候,人们可能会出于某种原因避免提交,尤其是在团队中工作时,因为你想拥有一个好的git历史记录,或者你不想在逻辑上将你的工作分割成多个提交。
也许最不优雅的解决方案是使用git patch,然后使用任何其他通道将补丁文件传输到目标机器。
1.首先,请确保暂存了 * 所有 * 要包含的文件。git add -u * 不会 * 添加新的未跟踪文件。从项目根目录使用git add .通常是一个 * 坏主意 *(️),因此最好使用git add newfile或使用IDE提供的工具显式地逐个暂存未跟踪文件。
1.使用以下命令创建修补程序:

git diff --patch --staged > wip.patch

1.在另一台计算机上(从存储库的根目录),使用以下命令导入修补程序:

git apply wip.patch

Intellij️IDE提供了一个简单的可视化方法,通过 Git〉*Patch.

相关问题