有没有人建议把我的工作暂时保存在git上,因为我已经失去了15天的工作,因为机器故障。Git stash没有用,因为它把数据保存在本地,提交30天,然后合并也不是一个好主意,因为当我们想把数据转移到生产中时,将有30-40次提交。有没有办法暂时保存工作,并从其他系统访问。
e4yzc0pl1#
为这些临时更改创建一个新分支,并使用一个有意义的名称,以显示此分支类似于草稿。当您返回继续工作时,将其合并到原来的工作分支中,并销毁草稿分支。
qvk1mo1f2#
你可以为此创建一个临时分支。你可以将它commit和push到远程,从不同的系统访问它。正如你所说,如果提交30天,将有30+提交。我们可以使用git squash命令将它们压缩为一个提交。之后,您还可以将此提交merge到您的生产中:
commit
push
30+
git squash
merge
git rebase --interactive HEAD~[30]
这将把你最近的30次提交合并成一次。
2wnc66cl3#
以下技巧可能会有所帮助:1-你可以创建一个diff文件:例如通过命令:git差值〉温度差值2-提交并推送到服务器3-在另一台机器中,通过命令拉取并应用差异:git应用温差4-循环直到完成任务5-最后你可以删除temp.diff文件并提交真实的的修改
vtwuwzda4#
提交是Git中保存修改的方式。既然你不允许提交,那就真的没什么可做的了,至少在Git中是这样。当然,有很多事情可以在Git之外完成,备份就是其中之一。正如老话所说:所有重要的数据都有备份,如果没有备份,那么您的数据从一开始就不是那么重要。
xesrikrc5#
有时候,人们可能会出于某种原因避免提交,尤其是在团队中工作时,因为你想拥有一个好的git历史记录,或者你不想在逻辑上将你的工作分割成多个提交。也许最不优雅的解决方案是使用git patch,然后使用任何其他通道将补丁文件传输到目标机器。1.首先,请确保暂存了 * 所有 * 要包含的文件。git add -u * 不会 * 添加新的未跟踪文件。从项目根目录使用git add .通常是一个 * 坏主意 *(️),因此最好使用git add newfile或使用IDE提供的工具显式地逐个暂存未跟踪文件。1.使用以下命令创建修补程序:
git patch
git add -u
git add .
git add newfile
git diff --patch --staged > wip.patch
1.在另一台计算机上(从存储库的根目录),使用以下命令导入修补程序:
git apply wip.patch
Intellij️IDE提供了一个简单的可视化方法,通过 Git〉*Patch.
5条答案
按热度按时间e4yzc0pl1#
为这些临时更改创建一个新分支,并使用一个有意义的名称,以显示此分支类似于草稿。当您返回继续工作时,将其合并到原来的工作分支中,并销毁草稿分支。
qvk1mo1f2#
你可以为此创建一个临时分支。你可以将它
commit
和push
到远程,从不同的系统访问它。正如你所说,如果提交30天,将有30+
提交。我们可以使用
git squash
命令将它们压缩为一个提交。之后,您还可以将此提交
merge
到您的生产中:这将把你最近的30次提交合并成一次。
2wnc66cl3#
以下技巧可能会有所帮助:
1-你可以创建一个diff文件:例如通过命令:git差值〉温度差值
2-提交并推送到服务器
3-在另一台机器中,通过命令拉取并应用差异:git应用温差
4-循环直到完成任务
5-最后你可以删除temp.diff文件并提交真实的的修改
vtwuwzda4#
提交是Git中保存修改的方式。既然你不允许提交,那就真的没什么可做的了,至少在Git中是这样。
当然,有很多事情可以在Git之外完成,备份就是其中之一。正如老话所说:所有重要的数据都有备份,如果没有备份,那么您的数据从一开始就不是那么重要。
xesrikrc5#
有时候,人们可能会出于某种原因避免提交,尤其是在团队中工作时,因为你想拥有一个好的git历史记录,或者你不想在逻辑上将你的工作分割成多个提交。
也许最不优雅的解决方案是使用
git patch
,然后使用任何其他通道将补丁文件传输到目标机器。1.首先,请确保暂存了 * 所有 * 要包含的文件。
git add -u
* 不会 * 添加新的未跟踪文件。从项目根目录使用git add .
通常是一个 * 坏主意 *(️),因此最好使用git add newfile
或使用IDE提供的工具显式地逐个暂存未跟踪文件。1.使用以下命令创建修补程序:
1.在另一台计算机上(从存储库的根目录),使用以下命令导入修补程序:
Intellij️IDE提供了一个简单的可视化方法,通过 Git〉*Patch.