我正在一个(非常重要的)公共Git分支中工作。我有一棵非常肮脏的工作树:修改了几个文件,添加了一些文件,暂存了一些文件,但尚未提交。我不会随时准备提交。我想以某种方式保存当前状态,以便在必要时可以稍后返回它-“以防万一”。有推荐的方法吗?还是我的工作流程完全错误?
答案 0 :(得分:4)
保存当前工作区
它称为commit
。提交是本地,如果您不想,则不必进行推送。不要害怕使用消息“正在进行中”来创建新提交。
git commit -a -m "WIP"
然后,当您进行更多更改时,只需对其进行修改
git commit --amend -a
它将新修改保存在同一提交中。
如果要将其转换为真正的提交,只需修改提交消息
git commit --amend -m "New message"
答案 1 :(得分:4)
我的建议是创建一个主题分支。在那个分支上工作,经常提交。每个提交都应该是一个有意义的很小的,易于回顾的更改。不要创建庞然大物。还要经常推动您的分支机构,以便其他人可以工作/查看它,使它出现在本地以外的其他地方(如果发生灾难)。当您认为工作已完成时,应该重新设置基础(合并提交,编辑提交)并清理工作。当看起来最合适时,您可以将分支合并到主分支,也可以将分支重新设置为基(重新设置将使其看起来像您在主分支之上进行了提交)。之后,您可以删除主题分支。
创建主题分支
git checkout -b <topic-name>
将分支推至原点
git push -u origin <topic-name>
请阅读有关重新定级的章节,因为它将使您的工作看起来更加专业: git-rebase
学习重定基础,使其成为第二天性。一旦掌握,这是一个很棒的工具。
修改提交通常是为了更正某些内容。
如果您想保存在本地进行的小更改,则可以进行隐藏。如果它们变大,则很快就很难概述发生了什么。随着时间的推移,它们变得难以管理。
我希望这会有所帮助。