这是frontend
过去两周内分行的管道.
| Stash@{3}
是所有代码Stash@{1}
(不包括两个微小的提交)
| 微小的承诺
| 微小的提交
| 两周前巨大的批量提交,现在已经重新定位并转移到了Stash@{1}
我的工作树目前很干净.
Stash@{1}
是两周前一般开发代码的批量提交的内容(这应该首先被隐藏).这个提交被撤消并转移到藏匿处.
Stash@{3}
是自那以后的最新工作Stash@{1}
(减去已经提交的几个更改).
我需要在我的工作树中将这两个存储块组合在一起,这样我就可以从这个巨大的工作池中做出一些提交.
我跑了git stash apply stash@{1}
然后我试过:
git stash apply stash@{3}
git stash show -p | git stash apply stash@{3}
但在这两种情况下我都得到了"肮脏的工作树".我如何将这项工作合并在一起?因为stash@{3}
更新,我希望它在stash@{1}
任何有冲突的地方取代.
小智 98
这有点牵扯,但这几乎总是有效:
弹出第一个藏匿处
$ git stash pop
Run Code Online (Sandbox Code Playgroud)暂时从第一个存储中提交更改
$ git add . && git commit -am 'WIP'
Run Code Online (Sandbox Code Playgroud)弹出第二个藏匿处
$ git stash pop
Run Code Online (Sandbox Code Playgroud)撤消临时提交,保持引入的更改
$ git reset --soft HEAD^
Run Code Online (Sandbox Code Playgroud)And*_*all 47
如果与工作树中的已修改文件没有冲突,则只能应用存储,因此,首先,确保没有已修改的文件git status
(如果有),提交它们.然后做:
git stash apply stash@{1}
git commit -a
# Enter your commit message
git stash apply stash@{3}
Run Code Online (Sandbox Code Playgroud)
然后,您可以进行新的提交,也可以修改前一个提交以进行组合.每次应用后,您可能需要解决合并冲突.
此外,如果您决定使用git stash pop
而不是apply
,请注意自第一个弹出以来stash@{3}
会stash@{2}
出现的情况.
NIK*_*C M 17
这对我有用。
暂存当前更改(如果未暂存中没有任何内容,则跳过此步骤)
git add .
Run Code Online (Sandbox Code Playgroud)
应用你想要的藏品
git stash apply stash@{0}
Run Code Online (Sandbox Code Playgroud)
阶段当前的变化
git add .
Run Code Online (Sandbox Code Playgroud)
或者git add <stashed_filename>
继续步骤2和3多次
然后取消一切
git reset
Run Code Online (Sandbox Code Playgroud)
完毕!
sir*_*ide 12
更好的方法是使用git stash show -p stash@{whatever} > stash-{whatever}.diff
然后使用git apply
每个.
归档时间: |
|
查看次数: |
22450 次 |
最近记录: |