如果我在分支A上工作,并且突然需要在分支B上工作,然后才准备在分支A上提交,那么我将我的更改存储在A上,签出B,在那里完成我的工作,然后签出A并应用存储。
如果我在A上工作,我想停止一天的工作,我是否应该保存我的工作,然后在第二天(当我恢复工作时)应用它,或者我应该让工作目录中的文件保持原样——未提交的修改文件?我不明白为什么在这种情况下我需要使用stash,除非有一些安全好处。
还有另一种情况:我在公司和家里都工作。如果当我想回家的时候,我还没有准备好提交,我可以把我的工作藏起来,推送到GitHub,然后在家里把它取出来吗?
我将分三段回答。
第1部分:
将未提交的更改保存在“stash”中。注意:这将从工作树中删除更改!)
Git签出some_branch(更改为预期的分支——在本例中是some_branch)
Git存储列表(列表存储)
你可以看到:stash@{1}: WIP在{branch_name}:{上次提交的SHA-1}{上次提交你的分支}在master上:085b095c6
测试修改
Git stash应用(应用stash到当前分支的工作树)
Git stash应用stash@{12}(如果你有很多存储,你可以选择哪个stash将应用-在这种情况下,我们应用stash 12)
Git stash drop stash@{0}(从stash列表中删除——在这种情况下是stash 0)
Git stash pop stash@{1}(应用所选的stash并将其从stash列表中删除)
第2部分:
您可以使用此命令隐藏更改,但这不是必需的。
第二天你可以不带毒品继续。
这个命令隐藏你的更改,并在不同的分支上工作,或者实现你的代码的一些实现,并保存在没有分支的存储中,并提交你的自定义案例!
之后你可以使用一些存储来检查哪个更好。
第3部分:
隐藏命令用于本地隐藏您的更改。
如果你想远程工作,你必须承诺并推动。